Python 如何将某些列从一个数据帧组合到另一个数据帧?
如何在某个位置将三列从一个数据帧添加到另一个数据帧? 我想在特定列之后添加这些列?DF1=['C','D']之后 DF2中的A列和B列。那么,如何在中的其他列之间连接列呢 另一个数据帧Python 如何将某些列从一个数据帧组合到另一个数据帧?,python,pandas,dataframe,merge,data-science,Python,Pandas,Dataframe,Merge,Data Science,如何在某个位置将三列从一个数据帧添加到另一个数据帧? 我想在特定列之后添加这些列?DF1=['C','D']之后 DF2中的A列和B列。那么,如何在中的其他列之间连接列呢 另一个数据帧 df1=pd.read_csv(csvfile) df2=pd.read_csv(csvfile) df1['C','D','E'] to df2['K','L','A','B','F'] so it looks like df3= ['K','L','A','B','C','D','F'] 用于列的更改顺
df1=pd.read_csv(csvfile)
df2=pd.read_csv(csvfile)
df1['C','D','E'] to df2['K','L','A','B','F']
so it looks like df3= ['K','L','A','B','C','D','F']
用于列的更改顺序:
df3 = pd.concat([df1, df2], axis=1).reindex(['K','L','A','B','C','D'], axis=1)
更一般的解决方案:
df1 = pd.DataFrame(columns=['H','G','C','D','E'])
df2 = pd.DataFrame(columns=['K','L','A','B','F'])
df3 = pd.concat([df1, df2], axis=1)
c = df3.columns.difference(['C', 'D'], sort=False)
pos = c.get_loc('B') + 1
c = list(c)
#https://stackoverflow.com/a/3748092/2901002
c[pos:pos] = ['C', 'D']
df3 = df3.reindex(c, axis=1)
print (df3)
Empty DataFrame
Columns: [H, G, E, K, L, A, B, C, D, F]
Index: []
尝试:
最后:
df3=df3[['K','L','A','B','C','D']]
或
这应该行得通
pd.merge([df1, df2, left_index=True, right_index=True]).[['K','L','A','B','C','D']]
或者简单地使用deafult留下的join
df1.join(df2)[['K','L','A','B','C','D']]
如果出现值错误,在index@keenQuestions什么是重复列?需要通过它们进行合并,因此,相反地,
pd.concat([df1,df2],axis=1)
Needpd.merge(df1,df2,on=['col1','col2'],how='left')
如果列重复,这意味着在两个数据帧中都是col1,col2
?
pd.merge([df1, df2, left_index=True, right_index=True]).[['K','L','A','B','C','D']]
df1.join(df2)[['K','L','A','B','C','D']]