将pandas df更改为python dict

时间:2018-11-20 13:22:14

标签: python pandas dictionary

我想将以下pandas DataFrame对象更改为python字典,然后我想使用energy_emob_BBenergy_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配合使用?

1 个答案:

答案 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')