2016-11-16 8 views
1

の名前を使用してデータフレームに異なる長さの異なるデータフレームを追加する私は3つの列Pythonのパンダ:カラム

 A B C 
    0 7 7 7 

メインデータフレームがあると私は他の三つのデータフレームがあると、それぞれが1つの列のみを有するが、と異なる長さ。

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 

ご協力いただきありがとうございます!

答えて

1

これを試してみてください。

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 
+0

ありがとう – goodX

1
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 

コンカットを使用する前に空のデータフレームを作成する必要はありません。

pandas documents to read

+0

申し訳ありませんが、それは、私がよく私の質問を説明していない私のせいでした。私は元の質問 – goodX

+0

を更新しました。それはまた仕事をします。あなたの努力の多くのおかげで – goodX

関連する問題