Python 在数据帧上正确合并不同长度的序列
设置 我有一个Python 在数据帧上正确合并不同长度的序列,python,pandas,dataframe,Python,Pandas,Dataframe,设置 我有一个df1 A B name 0 ABC DEF test1 1 UVW XYZ test2 和adf2 C name 0 1 test1 和一个df3 C D name 0 1 1 test2 这样df12=pd.merge(df1,df2,on=['name']) A B name C 0 ABC DEF test1 1 A B name C D 0 UV
df1
A B name
0 ABC DEF test1
1 UVW XYZ test2
和adf2
C name
0 1 test1
和一个df3
C D name
0 1 1 test2
这样df12=pd.merge(df1,df2,on=['name'])
A B name C
0 ABC DEF test1 1
A B name C D
0 UVW XYZ test2 1 1
和df13=pd.merge(df1,df3,on=['name'])
A B name C
0 ABC DEF test1 1
A B name C D
0 UVW XYZ test2 1 1
问题 接下来如何将第一个
df2
和第二个df3
添加到df1
中,从而获得一个df123
,如下所示:
A B name C D
0 ABC DEF test1 1 NaN
1 UVW XYZ test2 1 1
我需要能够在循环中构造
df123
使用追加
和合并
:
df = df1.merge(df2.append(df3, sort=False),on='name')
print(df)
A B name C D
0 ABC DEF test1 1 NaN
1 UVW XYZ test2 1 1.0
使用
追加
和合并
:
df = df1.merge(df2.append(df3, sort=False),on='name')
print(df)
A B name C D
0 ABC DEF test1 1 NaN
1 UVW XYZ test2 1 1.0
使用
先将_组合
与设置_索引()
使用
先将_组合
与设置_索引()
我认为df_final=reduce(lambda left,right:pd.merge(left,right,on='name'),dfs)应该工作我得到一个
名称错误:没有定义名称“reduce”
。使用functools导入reduce中的我将重新打开它,因为它不是合并问题。@jezrael是的,这更像我认为的问题df_final=reduce(lambda left,right:pd.merge(left,right,on='name'),dfs)
应该工作我得到一个名称错误:未定义名称“reduce”
。请使用functools导入reduce中的。@jezrael我将重新打开它,因为它不是合并问题。@jezrael是的,这一个更像此问题给出的类型错误:append()获取了一个意外的关键字参数“sort”
@LucSpan removesort=False
它是pandas的最新版本>=0.23.0这给出了TypeError:append()获取了一个意外的关键字参数“sort”
@LucSpan removesort=False
它是pandas的最新版本>=0.23.0