Vic*_*cky 35 python dictionary pandas
例如,我现在有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
Run Code Online (Sandbox Code Playgroud)
我想将其转换为
id scoreDict
1 {'1': 0, '2': 0.1086, ...}
2 {...}
3 {...}
Run Code Online (Sandbox Code Playgroud)
无论如何要这样做?
提前致谢!
Jia*_* Li 70
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}]
Run Code Online (Sandbox Code Playgroud)
小智 10
df = pd.DataFrame({'col1': [1, 2],
'col2': [0.5, 0.75]},
index=['row1', 'row2'])
df
col1 col2
row1 1 0.50
row2 2 0.75
df.to_dict(orient='index')
{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}
Run Code Online (Sandbox Code Playgroud)
对于像我这样的其他人,您遇到以下问题,但希望执行以下操作:逐行创建一个dict以根据相邻列的值映射一列。
这是我们的映射表:
Rating y
0 AAA 19
1 AA1 18
2 AA2 17
3 AA3 16
4 A1 15
5 A2 14
6 A3 13
...
19 D 0
Run Code Online (Sandbox Code Playgroud)
在:
import pandas as pd
df_map.set_index('y')
df_map.transpose()
dict_y = df_map['Rating'].to_dict()
Run Code Online (Sandbox Code Playgroud)
出:
{19: 'AAA',
18: 'AA1',
17: 'AA2',
16: 'AA3',
15: 'A1',
14: 'A2',
13: 'A3',
12: 'BBB1',
11: 'BBB2',
10: 'BBB3',
9: 'BB1',
8: 'BB2',
7: 'BB3',
6: 'B1',
5: 'B2',
4: 'B3',
3: 'CCC1',
2: 'CCC2',
1: 'D'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31056 次 |
| 最近记录: |