Python:使用列名称向数据帧添加不同长度的不同数据帧

Python:使用列名称向数据帧添加不同长度的不同数据帧,python,pandas,dataframe,add,Python,Pandas,Dataframe,Add,假设我有一个包含三列的主数据框 A B C 0 7 7 7 我还有另外三个数据帧,每个数据帧只有一列,但长度不同 df_A = pd.DataFrame([2,3,4,6,7,11],columns = ['A']) df_B = pd.DataFrame([2,3,4],columns = ['B']) df_C = pd.DataFrame([2,3,4,5,6,7,8,9,10],columns = ['C']) 如何根据列的名称将这些数据帧中的每一个添加到

假设我有一个包含三列的主数据框

      A  B  C
   0  7  7  7
我还有另外三个数据帧,每个数据帧只有一列,但长度不同

df_A = pd.DataFrame([2,3,4,6,7,11],columns = ['A'])
df_B = pd.DataFrame([2,3,4],columns = ['B'])
df_C = pd.DataFrame([2,3,4,5,6,7,8,9,10],columns = ['C'])
如何根据列的名称将这些数据帧中的每一个添加到主数据帧中。所以输出是这样的

    A   B   C
0   7   7   7
1   2   2   2
2   3   3   3
3   4   4   4
4   6   NaN 5
5   7   NaN 6
6   11  NaN 7
7   NaN NaN 8
8   NaN NaN 9
9   NaN NaN 10
提前感谢您的帮助

import pandas as pd

df3 = pd.DataFrame({'A': [7],'B': [7],'C': [7]})
df_A = pd.DataFrame([2,3,4,6,7,11],columns = ['A'])
df_B = pd.DataFrame([2,3,4],columns = ['B'])
df_C = pd.DataFrame([2,3,4,5,6,7,8,9,10],columns = ['C'])

df_main = pd.concat([df_A, df_B, df_C], axis=1)
newdf = df3.append(df_main).reset_index(drop=True)
newdf
在使用concat之前,不必创建空数据帧

试试这个:

In [187]: pd.concat([df, df_A.join(df_B, how='outer').join(df_C, how='outer')])
Out[187]:
      A    B   C
0   7.0  7.0   7
0   2.0  2.0   2
1   3.0  3.0   3
2   4.0  4.0   4
3   6.0  NaN   5
4   7.0  NaN   6
5  11.0  NaN   7
6   NaN  NaN   8
7   NaN  NaN   9
8   NaN  NaN  10

对不起,这是我的错,我没有很好地解释我的问题。我已经更新了原来的问题