Pandas DataFrame を List に変換する方法は?
Published on
データサイエンティストとして、Pandas DataFrame を List に変換する必要があることがあります。幸い、tolist()
関数を使ってこれを簡単に実現できます。この記事では、この方法を使って DataFrame をリストに変換する方法を説明します。また、列をリストに変換する方法、ネストされたリストを作成する方法、いくつかの例を提供します。
Python で簡単にデータ可視化を作成したいですか?
PyGWalker は、Jupyter Notebook ベースの環境で直接データ分析および可視化ワークフローを高速化するのに役立つオープンソース Python プロジェクトです。
PyGWalker (opens in a new tab) は、Pandas Dataframe(または Polars Dataframe)を ビジュアル UI に変換し、簡単にグラフを作成することができます。次のコードを使用するだけです。
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
以下のオンラインノートブックで PyGWalker をすぐに実行できます。
そして、GitHub で ⭐️ をつけてください!
DataFrame を List に変換する
tolist()
関数は、Pandas の組み込みメソッドであり、DataFrame をリストに変換します。DataFrame にこの関数を呼び出すだけで、リストが返されます。
import pandas as pd
# サンプル DataFrame を作成する
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
# DataFrame をリストに変換する
list_from_df = df.values.tolist()
print(list_from_df)
このコードは、次の出力を生成します。
[[1, 'a'], [2, 'b'], [3, 'c']]
このコードは、3つの要素を持つ3つのリストを含むリストを作成します。各要素は数値と文字列のペアであり、1つのリストは1つの行に相当します。
クイック例
DataFrameをリストに変換するいくつかのクイックな例を紹介します。
import pandas as pd
# create a sample DataFrame
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
# convert DataFrame to list (method 1)
list_from_df1 = df.values.tolist()
# convert DataFrame to list (method 2)
list_from_df2 = [list(x) for x in df.values]
# convert 'numbers' column to list
list_from_column = df['numbers'].tolist()
# create a nested list
nested_list = [tuple(x) for x in df.to_records(index=False)]
最初の例では、tolist()
関数を使用してDataFrameをリストのリストに変換しました。
2番目の例では、リスト内包表記を使用して同じ結果を得ることができます。
3番目の例では、特定の列にtolist()
関数を使用してリストに変換しました。
そして、4番目の例では、ネストされたタプルのリストを作成するためにリスト内包表記を使用しました。
結論
Pandas DataFrameをリストに変換することは、データサイエンスでは一般的なタスクです。幸いなことに、tolist()
関数を使用すると非常に簡単に実行できます。DataFrame全体をリストに変換する必要がある場合、特定の列をリストに変換する場合、ネストされたリストを作成する場合、この関数はあなたをカバーしています。この記事で提供された例を使って、自分自身のプロジェクトでもこのタスクを素早く簡単に実現できます。