python:从dict到df,然后再次回到dict

时间:2020-06-24 12:01:39

标签: 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

但是当我想转换回字典时,我得到了:

d_again = df.to_dict('records')

[{0: 'A', 1: True}, {0: 'B', 1: False}, {0: 'C', 1: True}]

与第一个字典d不同。

谢谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

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

d_again = dict(df.values)
{'A': True, 'B': False, 'C': True}

答案 1 :(得分:1)

直接翻译为

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