Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按轴0中的单列组合数据帧_Python_Pandas - Fatal编程技术网

Python 按轴0中的单列组合数据帧

Python 按轴0中的单列组合数据帧,python,pandas,Python,Pandas,我想组合几个pandaDataFrames,例如:(所有输入都有一个第一列p加上一个唯一命名的第二列。) 输出应该是这样的:(它应该有和输入一样多的列,加上一列表示p,并且在任何输入中,一列p中的每个值应该只有一行。) 一个简单的pd.concat([df_b3,df_ka,df_kb])给了我太多的行和NaNs: P b3 ka kb 0 l1 + NaN NaN 0 l1 NaN + NaN 1 l2 NaN + NaN 0 l

我想组合几个panda
DataFrames
,例如:(所有输入都有一个第一列
p
加上一个唯一命名的第二列。)

输出应该是这样的:(它应该有和输入一样多的列,加上一列表示
p
,并且在任何输入中,一列
p
中的每个值应该只有一行。)

一个简单的
pd.concat([df_b3,df_ka,df_kb])
给了我太多的行和
NaN
s:

       P   b3   ka   kb
0  l1    +  NaN  NaN
0  l1  NaN    +  NaN
1  l2  NaN    +  NaN
0  l2  NaN  NaN    +
1  l3    +  NaN  NaN
2  l3  NaN    +  NaN
1  l3  NaN  NaN    +
熊猫如何才能最好地实现这一点呢?

我认为需要为以下内容中的align by
p
列提供每个
DataFrame

我认为需要为以下列中的align by
p
列提供每个
DataFrame

你可以

别忘了选择其他选项,如“内部”、“外部”。。。等等。

你可以

别忘了选择其他选项,如“内部”、“外部”。。。等等

       P   b3   ka   kb
0  l1    +    +  NaN
1  l2  NaN    +    +
2  l3    +    +    +
       P   b3   ka   kb
0  l1    +  NaN  NaN
0  l1  NaN    +  NaN
1  l2  NaN    +  NaN
0  l2  NaN  NaN    +
1  l3    +  NaN  NaN
2  l3  NaN    +  NaN
1  l3  NaN  NaN    +
dfs = [df_b3, df_ka, df_kb]
dfs1 = [x.set_index('P') for x in dfs]
#same as
#dfs1 = [df_b3.set_index('P'), df_ka.set_index('P'), df_kb.set_index('P')]
df = pd.concat(dfs1, axis=1).rename_axis('P').reset_index()
print (df)
    P   b3 ka   kb
0  l1    +  +  NaN
1  l2  NaN  +    +
2  l3    +  +    +
df_b3.join(df_ka, on='P')