Pandas.DataFrameをdicts in listに変換する
dicts in listからDataFrameを作成することはよくあるが、
DataFrameをdicts in listにしたい時がたまにある。
df.to_dict('records')を実行するだけで良いのだが、
このシンプルなコードを良く忘れるのに記事にした。
入出力がまったく同じdicts in listで実施。
dicts_in_list = [{'x': random.randint(0, 10), 'y': random.randint(1, 5)} for i in range(10)]
for dil in dicts_in_list:
print dil
df = pd.DataFrame(dicts_in_list)
print df
dicts_in_list = df.to_dict('records')
for dil in dicts_in_list:
print dil
結果は以下の通り。
{'y': 1, 'x': 9}
{'y': 2, 'x': 7}
{'y': 3, 'x': 7}
{'y': 1, 'x': 10}
{'y': 5, 'x': 8}
{'y': 2, 'x': 1}
{'y': 5, 'x': 0}
{'y': 5, 'x': 6}
{'y': 5, 'x': 3}
{'y': 5, 'x': 7}
x y
0 9 1
1 7 2
2 7 3
3 10 1
4 8 5
5 1 2
6 0 5
7 6 5
8 3 5
9 7 5
{'y': 1, 'x': 9}
{'y': 2, 'x': 7}
{'y': 3, 'x': 7}
{'y': 1, 'x': 10}
{'y': 5, 'x': 8}
{'y': 2, 'x': 1}
{'y': 5, 'x': 0}
{'y': 5, 'x': 6}
{'y': 5, 'x': 3}
{'y': 5, 'x': 7}