我有2个数据框: 在每个数据帧中,我有具有相同名称和值的列(Key_Merge1),并且在每个数据帧中,我有2个具有相同值的不同列名(Key_Merge2)。如何将2个数据帧合并为2列: 1.按键合并1 2.按键合并21(DF1)和密钥合并22(DF2)
DF1
class Bar():
foo = Foo()
param = something
@foo.decorate(param)
def func(self):
# do something
DF2
PRODUCT PARAMETER_NAME PARAMETER VALUE1 PARAMETER_VALUE2 PARAMETER_VALUE_3
AAA PARAM1 10 10 10
AAA PARAM2 11 11 11
BBB PARAM1 12 12 12
BBB PARAM2 12 12 12
DF1 + DF2
PRODUCT_GROUP PARAMETER_NAME Limit1 Limit2 Limit3
AAA PARAM1 22 24 26
AAA PARAM2 32 34 36
BBB PARAM1 42 44 46
BBB PARAM2 52 54 56
谢谢
答案 0 :(得分:0)
好的,你必须重命名' PRODUCT_GROUP'在DF2中,merge
可以工作:
In [34]:
pd.merge(df1, df2.rename(columns={'PRODUCT_GROUP':'PRODUCT'}))
Out[34]:
PRODUCT PARAMETER_NAME PARAMETER VALUE1 PARAMETER_VALUE2 \
0 AAA PARAM1 10 10
1 AAA PARAM2 11 11
2 BBB PARAM1 12 12
3 BBB PARAM2 12 12
PARAMETER_VALUE_3 Limit1 Limit2 Limit3
0 10 22 24 26
1 11 32 34 36
2 12 42 44 46
3 12 52 54 56
合并自然会找到匹配的2列并根据需要执行内部合并