Pythonで既存のPandasにおけるDataFrameに辞書のリストを追加する

Pythonで既存のPandasにおけるDataFrameに辞書のリストを追加してみます。もしくは、Pandas Seriesからの値を追加してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameを作成する

既存のPandasにおけるDataFrameに辞書のリストを追加する前に、DataFrameを作成します。

■コード

import pandas as pd

df = pd.DataFrame({
    '名前':['田中','岡谷','森本','杉岡','吉村'],
    '出身':['富山','石川','新潟','東京','埼玉'],
    '年齢':[25,32,29,21,40]
})

print(df)

インポートでPandasモジュールを呼び出します。dfという変数を作成し、その中でpd.DataFrame()を使用し、「名前」、「出身」、「年齢」の3つの列と値を記述し、DataFrameを作成します。

■実行

このスクリプトを実行すると、作成したDataFrameが出力されます。

■既存のPandasにおけるDataFrameに辞書のリストを追加する

DataFrameの用意ができましたので、DataFrameに辞書のリストを追加するスクリプトを書いていきます。

■コード

import pandas as pd

df = pd.DataFrame({
'名前':['田中','岡谷','森本','杉岡','吉村'],
'出身':['富山','石川','新潟','東京','埼玉'],
'年齢':[25,32,29,21,40]
})

print(df)

dictionary_test = [{'名前':'山内','出身':'沖縄','年齢':23},
{'名前':'柄本','出身':'大阪','年齢':20}]
print("\n")
print(dictionary_test)

df = df.append(dictionary_test,ignore_index=True,sort=False)
print("\n")
print(df)

DataFrameに辞書のリストを追加する場合は、DataFrameを作成した後に、dictionary_testという辞書を作成し、その中に既存のDataFrameに追加するキー(列名)と値(各列の要素)を記述します。

記述後、DataFrameを格納しているdfという変数に対して、append()関数を使用します。括弧内の第1の引数には、dictionary_testを指定し、第2の引数では、「ignore_index=True」と記述し、新しく行番号を割り当てます。第3の引数では、「sort=False」と記述し、列をソートしないよう(一定の条件に従って並び替えない)に指定します。そして、格納します。これで、DataFrameに辞書のリストを追加することができます。

最後に、print関数でdfという変数の情報を出力してみます。

■実行

このスクリプトを「df_list_add_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回作成した辞書を既存のDataFrameに追加し、出力できました。

■PandasのSeriesを既存のDataFrameに追加する

では、次にPandasのSeriesを既存のDataFrameに追加してみます。

■コード

import pandas as pd

df = pd.DataFrame({
    '名前':['田中','岡谷','森本','杉岡','吉村'],
    '出身':['富山','石川','新潟','東京','埼玉'],
    '年齢':[25,32,29,21,40]
})

print(df)

series_test = pd.Series(['堀口','北海道',27],index=['名前','出身','年齢'])
print("\n")
print(series_test)

df = df.append(series_test,ignore_index=True,sort=False)
print("\n")
print(df)

PandasのSeriesを既存のDataFrameに追加する場合は、DataFrameに辞書のリストを追加する場合とさほど変わりありませんが、series_testという変数を作成し、その中でpd.Series()関数を使用し、Seriesを作成します。括弧内には既存のDataFrameに追加する値(各列の要素)と、「index=」と記述し、値に割り当てるindexの名前(列名)を指定します。指定後、格納。

格納後、DataFrameに辞書のリストを追加する場合と同じように、append()関数を使用し、既存のDataFrameに、作成したSeriesを追加します。

追加後、print関数でdfという変数の情報を出力してみます。

■実行

このスクリプトを「df_list_add_3.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、既存のDataFrameに、作成したSeriesを追加し、出力することができました。

コメント

タイトルとURLをコピーしました