我有两个DF,它们有一些共同的元素,并且在一个数据上有区别。这些DF被添加到一个带有附加函数的列表中。如何将列表组织成一个新的DF,并将数据放入列中?
2 DF如下所示,并添加了附件。
import pandas as pd
a=[]
r1={'date' : ['2003-01-31','2003-01-31'],'name' :['mod','dom'],'fib' :[2,3]}
df1=pd.DataFrame(r1,columns=['date','name','fib'])
r2={'date' : ['2003-01-31','2003-01-31'],'name' :['dom','mod'],'bif' :[5,7]}
df2=pd.DataFrame(r2,columns=['date','name','bif'])
a.append(df1)
a.append(df2)
a然后,我将列表a映射到一个新DF中。
z=pd.concat(map(pd.DataFrame,a))
z如何重新组织只需要两行的z?
我期望的输出是
r3={'date':['2003-01-31','2003-01-31'],'name' :['mod','dom'],'fib':[2,3],'bif':[7,5]}
pd.DataFrame(r3) 发布于 2019-05-08 14:27:16
对于z,我会这样做:
z=pd.concat([i.set_index(['date','name']) for i in a],axis=1).reset_index()
print(z) date name fib bif
0 2003-01-31 dom 3 5
1 2003-01-31 mod 2 7发布于 2019-05-08 13:56:30
尝试使用pd.merge
df1.merge(df2, on=['name', 'date'])结果:
date name fib bif
0 2003-01-31 mod 2 7
1 2003-01-31 dom 3 5https://stackoverflow.com/questions/56042052
复制相似问题