【问题标题】:how to join smaller df to larger df and use smaller as key that can repeat?如何将较小的df连接到较大的df并使用较小的作为可以重复的键?
【发布时间】:2021-09-25 11:16:21
【问题描述】:
我有一个看起来像这样的 df:
| Process Step Name |
Sort A |
Sort B |
Sort C |
| Sub Name |
2 |
3 |
4 |
一个看起来像这样的:
| Process Step Name |
Column 1 |
Column 2 |
Column 3 |
| Sub Name |
Value |
Value |
Value |
我想遍历第二个数据框,并根据流程步骤名称添加列 ABC,但第一个 df 中只有 21 行(每个流程子名称对每一列都有自己的排序值),大约 100000在第二个。我无法弄清楚如何做到这一点,有什么建议吗?
结果如下:
| Process Step Name |
Column 1 |
Column 2 |
Column 3 |
Sort A |
Sort B |
Sort 3 |
| Sub Name |
Value |
Value |
Value |
2 |
3 |
4 |
【问题讨论】:
标签:
python
pandas
dataframe
iteration
concatenation
【解决方案1】:
你可以使用DataFrame.merge:
out = df2.merge(df1, on="Process Step Name", how="left")
print(out)
打印:
Process Step Name Column 1 Column 2 Column 3 Sort A Sort B Sort C
0 Sub Name Value Value Value 2 3 4
使用的数据框:
df1:
Process Step Name Sort A Sort B Sort C
0 Sub Name 2 3 4
df2:
Process Step Name Column 1 Column 2 Column 3
0 Sub Name Value Value Value