首页 > 解决方案 > 熊猫:两个相等的列和短的第二列根据第一列

问题描述

我想对第二列进行排序,第二列等于第一列,但缺少一些值。

之前的数据:

     Cat1  Cat2
1    fish  dog
2    dog   ant
3    cat   fox
4    ant   NaN
5    fox   NaN

之后的数据:

     Cat1  Cat2
1    fish  NaN
2    dog   dog
3    cat   NaN
4    ant   ant
5    fox   fox

标签: pythonpandas

解决方案


DataFrame.merge通过将每一列分别过滤为一列,与左连接一起使用DataFrame

df = df[['Cat1']].merge(df[['Cat2']], left_on='Cat1', right_on='Cat2', how='left')
print (df)
   Cat1 Cat2
0  fish  NaN
1   dog  dog
2   cat  NaN
3   ant  ant
4   fox  fox

推荐阅读