问题:需要判断dataframe的两列,如果同时为空就删除该行,或该行中值相同就删除该行。
一、做了一组数据如下
a = pd.DataFrame({'A':[1,2,np.nan,np.nan,5],'B':[np.nan,7,np.nan,9,10],'C':[6,np.nan,8,9,np.nan]})
二、需要删除A列和B列中同时为空的行,即删除索引为2的行
a = a[-((a['A'].isnull()==True) & (a['B'].isnull()==True))]
a
三、需要删除B列和C列中同时为9的行,即删除索引为3的行
aa = a[-((a['B']==9) & (a['C']==9))]
aa
四、完整代码如下
a = pd.DataFrame({'A':[1,2,np.nan,np.nan,5],'B':[np.nan,7,np.nan,9,10],'C':[6,np.nan,8,9,np.nan]})
display(a)
a = a[-((a['A'].isnull()==True) & (a['B'].isnull()==True))]
display(a)
aa = a[-((a['C']==9) & (a['B']==9))]
display(aa)
然后再重置一下索引就好了,我的方法就是以上,如果大家有更好的方法欢迎讨论。
|