我有一个包含几列数据的数据框。如果有两列,则为“反应”和“丰度”。这些将多次显示,例如:
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}
最佳答案
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}
关于python - 从数据框的两列中提取值以构成键和值的字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58912802/