我想将以下pandas DataFrame对象更改为python字典,然后我想使用energy_emob_BB
和energy_emob_BE
来获取值。
emob_energy = pd.DataFrame(session.query(abbb_emob.id,
abbb_emob.scenario,
abbb_emob.region,
abbb_emob.energy).filter(
abbb_emob.scenario == 'ES2030').all())
energy_emob_BB = float(emob_energy.query('region=="BB"')['energy'])
energy_emob_BE = float(emob_energy.query('region=="BE"')['energy'])
这是DataFrame和2个对象的一些输出,我必须从DataFrame中获取
(Pdb) emob_energy
id scenario region energy
0 1 ES2030 BB 2183000.0
1 2 ES2030 BE 1298333.0
(Pdb) energy_emob_BB
2183000.0
(Pdb) energy_emob_BE
1298333.0
我如何使.query与python dict配合使用?
答案 0 :(得分:2)
pandas.DataFrame.to_dict
默认情况下以dict形式呈现数据。
df_dict = emob_energy.to_dict()
print(df_dict['energy_emob_bb']) # {0: 2183000.0, 1: 1298333.0, ...}
如果您希望它们作为列表的字典:
df_dict = emob_energy.to_dict(orient='list')