根据值在列中删除一个单元格

时间:2019-11-12 03:02:03

标签: pandas dataframe

我当前的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()

预先感谢您的帮助! :)

1 个答案:

答案 0 :(得分:1)

这更像是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