1. ホーム
  2. python

PythonでDataFrameの行をディクショナリに変換する方法

2023-10-15 08:08:04

質問

例えば、私は現在DataFrameを次のように持っています。

id score1   score2  score3  score4  score5
1  0.000000     0.108659    0.000000    0.078597    1
2  0.053238     0.308253    0.286353    0.446433    1
3  0.000000     0.083979    0.808983    0.233052    1

として変換したい。

id scoreDict
1  {'1': 0, '2': 0.1086, ...}
2  {...}
3  {...}

どうすればいい?

どのように解決するのですか?

import pandas as pd

# your df
# =========================
print(df)

   id  score1  score2  score3  score4  score5
0   1  0.0000  0.1087  0.0000  0.0786       1
1   2  0.0532  0.3083  0.2864  0.4464       1
2   3  0.0000  0.0840  0.8090  0.2331       1

# to_dict
# =========================
df.to_dict(orient='records')

Out[318]: 
[{'id': 1.0,
  'score1': 0.0,
  'score2': 0.10865899999999999,
  'score3': 0.0,
  'score4': 0.078597,
  'score5': 1.0},
 {'id': 2.0,
  'score1': 0.053238000000000001,
  'score2': 0.308253,
  'score3': 0.28635300000000002,
  'score4': 0.44643299999999997,
  'score5': 1.0},
 {'id': 3.0,
  'score1': 0.0,
  'score2': 0.083978999999999998,
  'score3': 0.80898300000000001,
  'score4': 0.23305200000000001,
  'score5': 1.0}]