python - 熊猫:两个相等的列和短的第二列根据第一列
问题描述
我想对第二列进行排序,第二列等于第一列,但缺少一些值。
之前的数据:
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
解决方案
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
推荐阅读
- c# - SendMessage 总是返回零
- javascript - 为什么android studio中的这个活动打不开?
- php - 存储在数据库中的不良数据
- parameters - 链接两个 Tableau 参数,以便协同工作
- azure-cognitive-search - Azure 搜索错误:对于小数点的 gt 或 ge 运算符,过滤双精度相同
- spring - 如何从 javax.persistence.EntityManger 获取连接字符串
- javascript - 从javascript中的视频中获取像素处的YUV而不是RGB
- python - 在 Python 中的列表中查找最长和最短的列表
- java - MongoDb Java API 更新失败
- python-3.x - 查询期间丢失与 MySQL 服务器的连接 - Python 3.x - pymysql