【问题标题】:Merge a dataframe and column of others based on indexes根据索引合并其他数据框和列
【发布时间】:2021-12-04 01:20:37
【问题描述】:

根据索引值合并一个数据框和其他 10 个数据框的列。 我有一个 10 数据框,索引列是关键标识符,最后一列是该数据框的唯一编号。 我想根据索引值将第一个数据帧与其他 9 个数据帧的最后一列合并。如果在其他 9 个数据帧中出现新索引,合并应该忽略它。

例如: 数据框1:

Uniq Attr1 Attr2 Rating1
1 a b 9
2 d c 7
3 y x 4

数据框2:

Uniq Attr1 Attr2 Rating2
1 a b 6
4 x r 8
3 y x 9
2 d c 5

合并的框架应该是:

Uniq Attr1 Attr2 Rating1 Rating2
1 a b 9 6
2 d c 7 5
3 y x 4 9

【问题讨论】:

  • 两个数据框中的最后一个列名为“Rating1”?结果应该有2列(“rating1”和“rating2”)?或者它是一个错字,df2 中的列是“rating2”?
  • 不,我写的最后一列名称发生了变化,它在第二个数据框中的评级为 2
  • pandas 标签 wiki 页面有一个链接指向一个名为“Pandas Merging 101”的问题。我想你会在那里找到答案。

标签: pandas dataframe


【解决方案1】:

你可以试试这个:

df_merged = df1.merge(df2, how='inner')

【讨论】:

  • 但这将排除外部列,即 Rating1,Rating 2
  • 我自己测试过。运行这行代码时,我得到的正是你想在你的问题中得到的 df
猜你喜欢
  • 2015-10-28
  • 2021-08-24
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
  • 2021-09-19
  • 2016-10-07
  • 2021-03-08
  • 2021-09-10
相关资源
最近更新 更多