首页 > 解决方案 > 根据值在列中删除一个单元格

问题描述

我当前的 data_frame 的一个基本示例如下所示:

Material Description    From
1 Bitumen               0.025
2 Road                  0.14
3 Filling               0.24
4                       0.82
5                       1.55
6 Filling
7 Sand

我想在下面有这个 data_frame 输出:

Material Description    From
1 Bitumen               0.025
2 Road                  0.14
3 Filling               0.24
4 Filling               0.82
5 Sand                  1.55

遍历 data_frame['Material Description'] 中的这些单元格并删除单元格而不是整行会很棒。我已经尝试了下面的代码,但不幸的是发生了属性错误。

for q in range(len(data_frame)):
    if (data_frame.loc[q, "Material Description"]) == "":
        data_frame.loc[q, "Material Description"].drop()

在此先感谢您的帮助!:)

标签: pandasdataframe

解决方案


这更像是一个NaN移位问题,为了加快你可以检查Python:Justifying NumPy array

df=df.mask(df=='').apply(lambda x : sorted(x,key=pd.isnull)).dropna(thresh=1)
df
Out[145]: 
  MaterialDescription   From
1             Bitumen  0.025
2                Road  0.140
3             Filling  0.240
4             Filling  0.820
5                Sand  1.550

推荐阅读