Python 通过组合其他两个数据帧来导出数据帧
我是python新手,正在尝试解决某些问题。我有一个情况,我有2个数据帧,我想结合起来,以实现我想要的数据帧 我尝试了.merge和.join,这两种方法都无法获得我想要的outbcome 让我们假设我有以下场景:Python 通过组合其他两个数据帧来导出数据帧,python,pandas,Python,Pandas,我是python新手,正在尝试解决某些问题。我有一个情况,我有2个数据帧,我想结合起来,以实现我想要的数据帧 我尝试了.merge和.join,这两种方法都无法获得我想要的outbcome 让我们假设我有以下场景: lt = list(['a','b','c','d','a','b','a','b']) df = pd.DataFrame(columns = lt) data = [[10,11,12,12], [15,14,12,10]] df1 = pd.DataFrame(data, c
lt = list(['a','b','c','d','a','b','a','b'])
df = pd.DataFrame(columns = lt)
data = [[10,11,12,12], [15,14,12,10]]
df1 = pd.DataFrame(data, columns = ['a','b','c','d'])
我希望将df和df1结合起来,得到所需的数据帧df2,如下所示:
a b c d a b a b
0 10 11 12 12 10 11 10 11
1 15 14 12 10 15 14 15 14
如果您不介意更改列的顺序,那么这只是一个正确的连接。唯一需要注意的是,这些操作是在行而不是列上执行的,因此您需要首先转置: [44]中的
:df.T.join(df1.T,how='right').T
出[44]:
a a b b c d
0 10 10 10 11 11 11 12 12
1 15 15 15 14 14 14 12 10
使用
pd.concat([df,df1],axis=0,join='inner',sort=False)
a b c d a b a b b
0 10 11 12 12 10 11 10 11
1 15 14 12 10 15 14 15 14
您可以使用df
的列,并在df1
中选择相应的列,如下所示:
lt=list(['a','b','c','d','a','b','a','b']))
df=pd.DataFrame(columns=lt)
数据=[[10,11,12,12],[15,14,12,10]]
df1=pd.DataFrame(数据,列=['a','b','c','d'])
df2=df1[df.列]
打印(df2)
印刷品:
a b c d a b a b
0 10 11 12 12 10 11 10 11
1 15 14 12 10 15 14 15 14
您是否检查了
df2=df1[df.columns]
Hi tschmelz,是的……这对上述示例有效。但不是我的原始数据帧。它正在抛出错误:“xxxx,yyyy不在索引中”尝试了.cocat,但得到错误“计划形状未对齐”…您是否使用axis=0和join='inner'?