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

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

MENU

PythonでリストをPandasのSeriesやDataFrameに変換

Pythonでリストを使用していて、そのリストオブジェクトをPandasのSeriesやDataFrameに変換したくなった時のやり方について備忘メモです。


1. PythonのリストをPandasの Seriesに変換

リストオブジェクトをPandas Seriesに変換

以下のように1から5までの整数を要素に持つリストをPandasのSeriesに変換する場合のコード例です。

import pandas as pd
list1 = [1,2,3,4,5]
Ser1 = pd.Series(list1)

これでリストオブジェクトlist1がPandas のSeriesオブジェクトSer1に変換されました。

Seriesのインデックスを設定

このままですと、インデックスが設定されていない(デフォルトの0から4のまま)ですので、適当に指定してあげると、

Ser1.index = ["A1","A2","A3","A4","A5",]

Ser1は以下のようになります。

>>> Ser1
A1    1
A2    2
A3    3
A4    4
A5    5
dtype: int64


2. PythonのリストをPandasの DataFrameに変換

リストオブジェクトをPandasのDataFrameに変換

2次元のリストを使用しているような場合に、Pandasのデータフレーム に変換したい場合は、以下のようにすることで変換可能です。

import pandas as pd
list2 = [[1,2,3],[4,5,6],[7,8,9]]
df1 = pd.DataFrame(list2)


これでリストオブジェクトlist2がPandas のDataFrameオブジェクトdf1に変換されました。

Padans DataFramのインデックス、カラムを設定

このままですと、インデックス、カラムが設定されていない(デフォルトのまま)ですので、適当に指定してあげると、

df1.index = ["row1","row2","row3"]
df1.columns = ["col1","col2","col3"]

df1は以下のようになります。

>>> df1
      col1  col2  col3
row1     1     2     3
row2     4     5     6
row3     7     8     9