英国でデータサイエンスを学ぶ

30代になってから海外で統計学・機械学習・プログラミングを勉強

MENU

Python Pandas Series の結合(DataFrameへの変換)

PandasのSeriesを結合してDataFrameを作成したい時にどうすればいいのか忘れないようにするためのメモです。

例えば、

1
2
3
というようなものと
4
5
6
とを結合して
1 4
2 5
3 6
を作りたいという状況を考えます。

この場合は以下のように行えばOKです。

import pandas as pd
a = pd.Series([1,2,3])
b = pd.Series([4,5,6])
df = pd.concat([a, b], axis=1)


これでcsvに出力してみると・・・

df.to_csv("test.csv")

ちゃんと以下のようになっています。

0 1
0 1 4
1 2 5
2 3 6


ちなみに、

axis = 1

というのは列方向に追加するというもので、axis = 0もしくは何も記述しない場合には、

df2 = pd.concat([a, b], axis=0)

以下のような結合の仕方になります。

0 1
1 2
2 3
0 4
1 5
2 6
インデックスは元のSeriesにあるものが使用されているので、0,1,2が繰り返されてしまっていますね。