Python 在for循环中有条件地删除行
我的熊猫数据帧有17543行。我想删除一行,前提是每列都包含“nan”。我根据链接尝试了说明 但是没有帮助。下面是我的代码Python 在for循环中有条件地删除行,python,pandas,for-loop,Python,Pandas,For Loop,我的熊猫数据帧有17543行。我想删除一行,前提是每列都包含“nan”。我根据链接尝试了说明 但是没有帮助。下面是我的代码 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 : ", NullR
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行,而空行输出是30行。
drop
不会改变您的SetMerge
。因此,您需要在drop
之后重新分配SetMerge
,或者使用另一个函数。
这是写在回答,通过链接,你已经张贴在这里,并检查。为突变指定inplace=True选项。为什么不使用dataframe.dropna(how='all')?换句话说,您不应该在allimprovided readabilityAnna上使用循环,在这里,不要使用for循环。