1

次のように、あるデータフレームから別のデータフレームの最後に 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 で数値型に変換しようとすると、型は読み取りバージョンと一致しますが、連結は失敗します。

4

1 に答える 1