python:从dict到df,再回到dict

python:从dict到df,再回到dict,python,dataframe,dictionary,transform,Python,Dataframe,Dictionary,Transform,假设我们有这条命令 d = {'A':True, 'B':False, 'C':True} 通过此命令,我获得了所需的数据帧: import pandas as pd df = pd.DataFrame(d.items()) 0 1 0 A True 1 B False 2 C True 但当我想转换回dict时,我得到了以下结果: d_again = df.to_dict('records') [{0: 'A', 1: True}, {0: 'B', 1

假设我们有这条命令

d = {'A':True, 'B':False, 'C':True}
通过此命令,我获得了所需的数据帧:

import pandas as pd
df = pd.DataFrame(d.items())

   0      1
0  A   True
1  B  False
2  C   True
但当我想转换回dict时,我得到了以下结果:

d_again = df.to_dict('records')

[{0: 'A', 1: True}, {0: 'B', 1: False}, {0: 'C', 1: True}]
这和第一条d不一样


谢谢你的帮助!:)

您可以使用数据帧的
属性并将其传递给
dict

d\u再次=dict(df.值)

直接翻译是

print(df.set_index(0)[1].to_dict())
产生

{'A': True, 'B': False, 'C': True}
完整代码:

import pandas as pd

dct_in = {'A':True, 'B':False, 'C':True}
df = pd.DataFrame(dct_in.items())
dct_out = df.set_index(0)[1].to_dict()
assert dct_in == dct_out
import pandas as pd

dct_in = {'A':True, 'B':False, 'C':True}
df = pd.DataFrame(dct_in.items())
dct_out = df.set_index(0)[1].to_dict()
assert dct_in == dct_out