gpt4 book ai didi

python - Pandas - 合并两个数据框并统一列集

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:20 25 4
gpt4 key购买 nike

给定两个单独的数据框,我希望合并它们并统一一组它们的连接列。

例子:

In[1]: df1

Out[1]:
a_id a_time a_val
0 1 100000000 a
1 2 200000000 b
2 3 300000000 c

In[10]: df2

Out[10]:
b_id b_time b_val
0 1 100000000 d
1 2 150000000 e
2 3 350000000 f

我正在寻找的结果数据框如下

   id       time val
0 1 100000000 a
1 1 100000000 d
2 2 150000000 e
3 2 200000000 b
4 3 300000000 c
5 3 350000000 f

假设所有 ID 都存在于两个表中,结果的长度应为 len(df1) + len(df2)

我正在使用 .stack() 查看一些结果,但我无法真正弄清楚在合并两个表时如何让它工作。

注意时间可能相同,也可能不同。

最佳答案

我认为您需要在 df 中使用相同的列,然后使用 concat + sort_values + reset_index :

cols = ['id', 'time', 'val']
df1.columns = cols
df2.columns = cols

df = pd.concat([df1, df2]).sort_values('id').reset_index(drop=True)

print (df)
id time val
0 1 100000000 a
1 1 100000000 d
2 2 200000000 b
3 2 150000000 e
4 3 300000000 c
5 3 350000000 f

关于python - Pandas - 合并两个数据框并统一列集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48137162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com