1

列と行の数が異なる2つのCSVファイルがあります。最初のCSVファイルにはM列とN行があり、2番目のCSVファイルにはH列とG行があります。一部の列は同じ名前です。

この2つを次のプロパティを持つデータフレームに結合したいと思います。

  • N+G行
  • (M、H)列の結合
  • 列Aが最初のCSVファイルの要素であり、2番目の要素ではない場合、データフレームには最初のCSVと同じ値がAの最初のNエントリに含まれている必要があり、残りの部分(2番目のCSVにはAデータがないため)は次のようになります。 NA。

次に例を示します。

CSV1
City, Population,
Zagreb, 700000,
Rijeka, 142000

CSV2
City, Area,
Split, 200.00
Osijek, 171.00
Dubrovnik, 143.35

次のようなデータフレームを作成したいと思います。

City      Population   Area
Zagreb    700000       NA
Rijeka    142000       NA
Split     NA           200.00
Osijek    NA           171.00
Dubrovnik NA           143.35

また、代わりに2つのCSVファイルに2つのデータフレームがあり、同じことをしたい場合はどうなりますか。たとえば、最初のcsvをにロードしdf1て2番目のcsvをにロードしdf2、それをマージしdf3たい場合は、上記の例のようになります。

4

1 に答える 1

4

関数を試してみませんかconcat

In [25]: df1
Out[25]: 
     City  Population
0  Zagreb      700000
1  Rijeka      142000

In [26]: df2
Out[26]: 
        City    Area
0      Split  200.00
1     Osijek  171.00
2  Dubrovnik  143.35

In [27]: pd.concat([df1,df2])
Out[27]: 
     Area       City  Population
0     NaN     Zagreb      700000
1     NaN     Rijeka      142000
0  200.00      Split         NaN
1  171.00     Osijek         NaN
2  143.35  Dubrovnik         NaN

In [28]: pd.concat([df1,df2], ignore_index=True)
Out[28]: 
     Area       City  Population
0     NaN     Zagreb      700000
1     NaN     Rijeka      142000
2  200.00      Split         NaN
3  171.00     Osijek         NaN
4  143.35  Dubrovnik         NaN

注:concat要件がわずかに異なる場合は、いくつかの追加オプションがあります。

于 2012-11-26T22:59:22.900 に答える