我有一个包含几列数据的数据框。如果有两列,则为“反应”和“丰度”。这些将多次显示,例如:
reaction product abundance 1.0 1.5 2.0 2.5 3.0 3.5 4.0 ... \
0 023Na-a 010020.tot 1 0 0 0 0 0 0 0 ...
1 023Na-a 012023.tot 1 0 0 0 0 0 0 0 ...
2 035Cl-a 010022.tot 0.3775 0 0 0 0 0 0 0 ...
3 035Cl-a 008018.tot 0.3775 0 0 0 0 0 0 0 ...
4 037Cl-a 013025.tot 0.1195 0 0 0 0 0 0 0 ...
.. ... ... ... .. .. .. .. .. .. .. ...
对于每个反应实例,丰度都是相同的。我想创建一个有关反应和丰度的字典:
dict = {'023Na-a': 1,
'035Cl-a': 0.3775,
'037Cl-a': 0.1195}
答案 0 :(得分:2)
import pandas as pd
data = [['023Na-a', '010020.tot', 1, '...'],
['023Na-a', '012023.tot', 1, '...'],
['035Cl-a', '010022.tot', 0.3775, '...'],
['035Cl-a', '008018.tot', 0.3775, '...'],
['037Cl-a', '013025.tot', 0.1195, '...']]
df = pd.DataFrame(data, columns=['reaction', 'product', 'abundance', 'etc'])
df[['reaction', 'abundance']].set_index('reaction').to_dict()['abundance']
结果
{'023Na-a': 1.0, '035Cl-a': 0.3775, '037Cl-a': 0.1195}