注目キーワード

【Python】pandas のデータフレームからpythonのlistを取得する(tolist)

Pythonのpandasはデータ解析に便利なライブラリです。pandasではDataFrameやSeriesなど、pandasで使いやすいデータの型で値が処理されていますが、pythonの標準の型であるsetやlist、機械学習でよく用いられるnumpyのndarrayなどに変換することも簡単にできます。こちらではlistへの変換操作について説明します。

データの準備

pandas の記事で利用していたサンプルのデータを続けて利用しています。データは厚生労働省のページから新型コロナウイルスに関するオープンデータです。「PCR検査の実施人数」から「pcr_case_daily.csv」をダウンロードしました。

tolistを使ってデータフレームからある列のデータをリスト型に変換する

ダウンロードしてきたデータを読み込み、その中から「国立感染症研究所」のデータだけを抜き出してきて、リストへ変換してみましょう。

サンプルソース

はじめにデータを読み込みます(indexは0列目の日付にしました)。

次に「国立感染症研究所」の列に着目して、pandasのデータフレームの列(Seriesという名前の型です)を取得します。型がSeriesであることを確認し、先頭の10日分のデータを出力します。

最後に取得したSeriesを tolist() メソッドを用いてpythonのlist型へ変換します。型が list になっていることを確認した上で、先頭の10日分のデータを出力します。

実行結果

実行結果を示します。データフレームからpythonのlist型データを取得できたことが分かります。

データフレームからpythonのlistにデータを変換した例

Pythonのlist型データからSeries型データを作成する

先程はデータフレーム中のSeriesをリストに変換しましたが、逆にリストをSeriesに変換することもできます。更に、データフレームとあわせてデータを相互に変換することができます。ここではリストとSeriesの変換に注目して、データを作成してみます。

サンプルソース

実装のサンプルです。

はじめに疑似的な人数データ(1、2、3、1、2、3 と 3、2、1、0、0、0 です)を2つ分用意しました。

次に  pd.Series を使ってデータをリストから pd.Seriesの型に変換しました。

最後に2つのSeriesをデータフレームに構築し直す処理を実行しました。

実行結果

結果を確認します。

listからpd.Seriesを構築し、最後にデータフレームにまとめた例

こちらの結果から、pythonのlist型のデータをpandasのpd.Series型のデータに変換できたことが分かります。またSeries型のデータを2本分まとめ、新しいデータフレームを構築することもできました。2本のSeriesが横方向に結合されたため、最後に見やすさのためにtranspose()で行と列を反転してprintして中身を確認しました。うまくデータが変換できたことが分かります。

スポンサーリンク

データフレームとSeriesはpandasを使いこなす上で重要なデータ型であるだけではなく、pythonのデータ型とも相互に変換したり、他のライブラリとの連携方法も多数あります。ぜひいろんなデータを変換・抽出したりしてデータの加工を試して見てくださいね