如果整行为空,如何删除Pandas数据帧中的行?

时间:2014-03-04 02:05:54

标签: python pandas

我一直在检查每一行的每个值,如果所有这些都是null,我会删除这样的行:

df = pandas.concat([df[:2], df[3:]])

但是,我认为必须有更好的方法来做到这一点。我一直试图使用面具或做这样的事情:

rows_to_keep  = df.apply(
    lambda row : 
      any([if val is None for val in row ])
   , axis=1) 

我也试过这样的事情(在另一个堆栈溢出问题上建议)

pandas.DataFrame.dropna()

但是我的打印数据框架没有任何差异。

1 个答案:

答案 0 :(得分:1)

dropna会返回一个新的DataFrame,您可能只想要:

df = df.dropna()

df.dropna(inplace=True)

如果你有一个更复杂的面具rows_to_keep,你可以这样做:

df = df[rows_to_keep]