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}