我想删除不同标签的行。但是对于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
我猜怎么做?
答案 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