python数据分析-判断DataFrame两列,删除同时为nan或相同值的行

问题:需要判断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]})

python数据分析-判断DataFrame两列,删除同时为nan或相同值的行_第1张图片

二、需要删除A列和B列中同时为空的行,即删除索引为2的行
a = a[-((a['A'].isnull()==True) & (a['B'].isnull()==True))]
a

python数据分析-判断DataFrame两列,删除同时为nan或相同值的行_第2张图片

三、需要删除B列和C列中同时为9的行,即删除索引为3的行
aa = a[-((a['B']==9) & (a['C']==9))]
aa

python数据分析-判断DataFrame两列,删除同时为nan或相同值的行_第3张图片

四、完整代码如下
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)

然后再重置一下索引就好了,我的方法就是以上,如果大家有更好的方法欢迎讨论。

你可能感兴趣的:(python,机器学习)