【发布时间】:2018-10-30 17:14:00
【问题描述】:
我的 Pandas DataFrame 有 17543 行。我想删除一行,前提是每列都包含“nan”。我按照链接drop rows in for loop尝试了说明 但没有帮助。以下是我的代码
NullRows=0
for i in range(len(SetMerge.index)):
if(SetMerge.iloc[i].isnull().all()):
df=SetMerge.drop(SetMerge.index[i])
NullRows +=1
print("total null rows : ", NullRows)
我只在 df 中删除了一行,有 17542 行,而 NullRows 输出为 30。
【问题讨论】:
-
为什么不使用 dataframe.dropna(how='all') ?
-
换句话说,你根本不应该使用循环
-
提高可读性
-
安娜在这里,不要为此使用 for 循环。