将df更改为python dict

将df更改为python dict,python,pandas,dictionary,Python,Pandas,Dictionary,我想将以下pandas DataFrame对象更改为python字典,然后我想使用energy\u emob\u BB和energy\u emob\u BE获取值 emob_energy = pd.DataFrame(session.query(abbb_emob.id, abbb_emob.scenario, abbb_emob.r

我想将以下pandas DataFrame对象更改为python字典,然后我想使用
energy\u emob\u BB
energy\u emob\u 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'])
这里是数据帧的一些输出和我必须从数据帧中获取的2个对象

(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

如何使用python dict进行.query?

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

默认情况下,
pandas.DataFrame.to_dict
在dicts中呈现dicts中的数据

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

你能在不创建数据帧的情况下创建dict吗?当然!但我不知道如果没有看到你的数据。如果我回答了您的原始问题,请将其标记为已回答。您是否可以在不创建数据帧的情况下创建dict?当然可以!但我不知道如果没有看到你的数据。如果我回答了你的原始问题,请将其标记为已回答。