如何基于共同键将Pandas DataFrame数据插入另一个并生成规整DataFrame
基于key列合并两个Pandas DataFrame的方法
你需要实现的是让df1中每个带key的行,与df2里同key的所有行一一配对组合,用Pandas的merge方法就能直接完成:
1. 构造示例数据(若已有数据可跳过)
import pandas as pd # 构造df1 df1 = pd.DataFrame({ 'name': ['a', 'b', 'c', 'd', 'e'], 'key': [0, 1, 0, 0, 1] }) # 构造df2 df2 = pd.DataFrame({ 'key': [0, 0, 1, 1, 1], 'value_1': [11, 21, 111, 121, 131], 'value_2': [12, 22, 112, 122, 132] })
2. 执行合并操作
调用pd.merge()并指定按key列匹配:
df3 = pd.merge(df1, df2, on='key')
结果说明
这个操作是内连接(inner join),会自动将df1中每个key对应的行,与df2里所有相同key的行进行笛卡尔积组合,最终生成的df3完全符合你要的规整结构:
name key value_1 value_2 0 a 0 11 12 1 a 0 21 22 2 b 1 111 112 3 b 1 121 122 4 b 1 131 132 5 c 0 11 12 6 c 0 21 22 7 d 0 11 12 8 d 0 21 22 9 e 1 111 112 10 e 1 121 122 11 e 1 131 132
内容的提问来源于stack exchange,提问作者cmg
相关产品推荐
相关产品推荐

