2017-02-23 7 views
0

dataframeに2つの列を直接追加するという事実に基づいて、エラーはpandas.io.common.CParserError: Error tokenizing data. C error: Expected 4 fields in line 242, saw 5として発生します。どのようにエラーを避けるためにpandasと私はできますか?異なる数の列を持つ2つのpandas.DataFrameを追加する方法

私は、元のデータを処理し、列の数を等しくするために、単純なアプローチを考え出しています。

もっとエレガントにできますか?私は、不足している列はnp.nanの後にpd.appendの後に記入することができると思います。

答えて

2

図のようにデータフレームを連結することができます。

必要に応じて列の名前を変更する必要があります。

df1 = pd.DataFrame({'a':[1,2,3,4],'b':[1,2,3,4],'c':[1,2,3,4]}) 
df2 = pd.DataFrame({'a':[1,2,3,4],'c':[1,2,3,4]}) 

df = pd.concat([df1,df2]) 

print('df1') 
print(df1) 
print('\ndf2') 
print(df2) 
print('\ndf') 
print(df) 

出力:

df1 
    a b c 
0 1 1 1 
1 2 2 2 
2 3 3 3 
3 4 4 4 

df2 
    a c 
0 1 1 
1 2 2 
2 3 3 
3 4 4 

df 
    a b c 
0 1 1.0 1 
1 2 2.0 2 
2 3 3.0 3 
3 4 4.0 4 
0 1 NaN 1 
1 2 NaN 2 
2 3 NaN 3 
3 4 NaN 4 
+0

感謝!できます! –

関連する問題