次のように、あるデータフレームから別のデータフレームの最後に 3 つの列を追加しようとしています。
df1:
a b c d
1 1 4 1
2 4 1 5
df2[colsOfInterest]:
e f
3 5
1 1
newDF = pd.concat([df1,df2[colsOfInterest]]) の使用
私は期待している:
a b c d e f
1 1 4 1 3 5
2 4 1 5 1 1
しかし、私は得ています:
a b c d e f
1 1 4 1 NA NA
2 4 1 5 NA NA
NA NA NA NA 3 5
NA NA NA NA 1 1
更新: データフレームを投稿することはできませんが、データ型または一貫性に絞り込んだようです。to_csv を使用して両方の df をファイルに書き込み、read_csv を使用してそれらを新しいものに読み戻すと、連結プロセスは正常に機能します。
1 つは完全なオブジェクト タイプで、もう 1 つは float64 です。
それらを再読み込みすると、float64、int64、object の混合になります。オリジナルを取得して、.astype(str).convert_numeric で数値型に変換しようとすると、型は読み取りバージョンと一致しますが、連結は失敗します。