pandasで要素にリストを格納する方法を解説します。サンプルプログラムも交えてわかりやすく解説します。
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi2_nayamu.png)
pandasで要素にリストを格納する方法について教えてください!
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
pandasではSeriesやDataFrameにリストを格納することができますよ。具体的な方法を解説しますね。
Seriesにリストを格納する方法
PandasのSeriesは、1次元のデータ構造であり、データを表現するための最も基本的なオブジェクトの1つです。Seriesには、PythonのリストやNumpyの配列と同様に、複数の要素を格納することができます。
Seriesにリストを格納するには、PandasのSeriesクラスのコンストラクタにリストを渡すだけです。
以下のように、PandasのSeriesクラスのコンストラクタにリストを渡すことで、リストを要素とするSeriesを作成することができます。
import pandas as pd
list_data = [1, 2, 3, 4, 5]
series_data = pd.Series(list_data)
print(series_data)
出力結果:
0 1
1 2
2 3
3 4
4 5
dtype: int64
Seriesに格納されたリストの要素へのアクセス
Seriesに格納されたリストの要素へは、Pythonのリストと同様に、インデックスを指定することでアクセスすることができます。
Seriesに格納されたリストの2番目の要素にアクセスする場合は、以下のようにコードを書きます。
import pandas as pd
list_data = [1, 2, 3, 4, 5]
series_data = pd.Series(list_data)
print(series_data[1])
出力結果:
2
Seriesにリストを格納する際のデータ型の変換
Seriesにリストを格納する際には、Pandasが自動的にリストの要素のデータ型を判定し、必要に応じてデータ型の変換を行います。
たとえば、以下のように文字列型の要素を含むリストをSeriesに格納する場合は、Pandasが自動的に整数型から文字列型に変換します。
import pandas as pd
list_data = [1, 2, 3, '4', 5]
series_data = pd.Series(list_data)
print(series_data)
出力結果:
0 1
1 2
2 3
3 4
4 5
dtype: object
DataFrameにリストを格納する方法
PandasのDataFrameは、2次元のデータ構造であり、表形式でデータを格納するためによく使われます。DataFrameには、列と行のインデックスによってデータにアクセスすることができます。
DataFrameにリストを格納するためには、辞書型のデータをDataFrameに変換する際に、リストを値として持つ辞書を作成する必要があります。
以下のように、PandasのDataFrameクラスのコンストラクタに辞書型のデータを渡すことで、リストを要素とするDataFrameを作成することができます。
import pandas as pd
dict_data = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}
df_data = pd.DataFrame(dict_data)
print(df_data)
出力結果:
A B
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
DataFrameに格納されたリストの要素へのアクセス
DataFrameに格納されたリストの要素へは、列名と行番号を指定することでアクセスすることができます。
たとえば、以下のようなDataFrameがあった場合、”B”列の2行目の要素にアクセスする場合は、以下のようにコードを書きます。
A B
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
import pandas as pd
dict_data = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}
df_data = pd.DataFrame(dict_data)
print(df_data.loc[1, 'B'])
出力結果:
b
DataFrameにリストを格納する際のデータ型の変換
DataFrameにリストを格納する際には、Pandasが自動的にリストの要素のデータ型を判定し、必要に応じてデータ型の変換を行います。
たとえば、以下のように文字列型の要素を含むリストをDataFrameに格納する場合は、Pandasが自動的に整数型から文字列型に変換します。
import pandas as pd
list_data = [['A', 1, 'a'], ['B', 2, 'b'], ['C', 3, 'c']]
df_data = pd.DataFrame(list_data, columns=['col1', 'col2', 'col3'])
print(df_data)
出力結果:
col1 col2 col3
0 A 1 a
1 B 2 b
2 C 3 c
まとめ
pandasで要素にリストを格納する方法を解説しました。
- PandasのSeriesにリストを格納するには、PandasのSeriesクラスのコンストラクタにリストを渡すだけである。
- PandasのDataFrameにリストを格納するには、辞書型のデータをDataFrameに変換する際に、リストを値として持つ辞書を作成する必要がある。
- SeriesやDataFrameに格納されたリストの要素へは、Pythonのリストと同様にインデックスや列名と行番号を指定することでアクセスすることができる。
- Pandasが自動的にリストの要素のデータ型を判定し、必要に応じてデータ型の変換を行う。
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi2_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi2_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi2_normal.png)
リストを要素として持つSeriesやDataFrameを作成する方法が分かりやすく解説されていて、とても参考になりました。
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
![](https://tech.mychma.com/wp-content/uploads/2022/05/hukidashi1_normal.png)
PandasのSeriesやDataFrameにリストを格納する方法について解説しました。リストを要素とするデータ構造を使うことで、データの扱いがより柔軟になり、データ分析の効率が上がることが期待できます。
コメント