如何仅删除不同标签的行(NaN和Empty仍然保留)

时间:2018-05-23 10:48:23

标签: pandas dataframe duplicates

我想删除不同标签的行。但是对于NaN而言仍然是空的(不删除)

这是我的数据

    id      barcode_x     barcode_y A   B
0   7068    38927887      38927895  0   12
1   7068    38927895      38927895  0   1
2   7068    39111141      38927895  0   4
3   7116    73094237                18  309
4   7154    37645215      37645215  0   9
5   7342    86972909      NaN       7   25

这就是我需要的东西

    id      barcode_x     barcode_y A   B
1   7068    38927895      38927895  0   1
3   7116    73094237                18  309
4   7154    37645215      37645215  0   9
5   7342    86972909      NaN       7   25

我猜怎么做?

1 个答案:

答案 0 :(得分:1)

通过填充nan与相应的列进行比较并相应地选择行(前工作:用Nan填充空单元格),即

df[df['barcode_y'].fillna(df['barcode_x']) == df['barcode_x']]

     id  barcode_x   barcode_y   A    B
1  7068   38927895  38927895.0   0    1
3  7116   73094237         NaN  18  309
4  7154   37645215  37645215.0   0    9
5  7342   86972909         NaN   7   25