【问题标题】:Python: Dictionary in another dictionaryPython:另一个字典中的字典
【发布时间】:2019-05-08 06:04:28
【问题描述】:

我在 python 中遇到了一个问题。

我有一个大约有一个数据框。 700 行。每一行都是一个字典(键值对),其中的值也是一个字典。问题是通过将 Dataframe 的单元格转换为 dict,它还将值转换为字符串。现在我想再次将这些值转换回字典,而不会丢失密钥。

示例:将{'Key1':'{1:value1, 2:value2, 3:value3, 4:value4}'} 转换为{'Key1': {'1':'value1','2':'value2','3':'value3','4':'value4'}}

感谢您的帮助:)

P.S.:我想提前为拼写错误和语法错误道歉

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我试过转换成json,打包ast和re.....
  • 请分享你所做的一切。

标签: python string pandas dictionary


【解决方案1】:

您需要添加更多详细信息。大多数情况下,您所描述的应该可以工作。

a = {'Key1':{1:'1.1', 2:'2.2', 3:'3.3', 4:'4.4'}}
df = pd.DataFrame(a)
print(df)
print(df.to_dict())

输出:

  Key1
1  1.1
2  2.2
3  3.3
4  4.4
{'Key1': {1: '1.1', 2: '2.2', 3: '3.3', 4: '4.4'}}

这是您考虑的数据框结构吗?

【讨论】:

    【解决方案2】:

    输出

    [{'b':'{1: N, 2: ((49, 1), (52, 1), (2726440, 1000000)), 3: E, 4: ((8, 1), (38, 1), 
    (17371673, 1000000)), 6: (22480, 100), 7: ((16, 1), (0, 1), (9, 1)), 29: 
    2018:11:29}','b':'{1: e, 2: ((80, 5), (5, 3), (2726440, 1000546)), 3: N, 4: ((3, 1), 
    (38, 1), (17371673, 1000000)), 6: (22980, 100), 7: ((16, 1), (0, 1), (9, 1)), 29: 
    2018:11:29}','b': ..... }]
    

    代码

    data = data.rename(columns={'a','b'}) 
    data_dict = data.to_dict('records')
    

    说明

    所以到目前为止我得到了这个: data 是一个包含 1 列的数据框,其中包含字典(700 行); 我将该列重命名为“b”,因为它应该是字典中所有字典的键;现在我得到了一个包含 700 个字典和输出表单的列表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      相关资源
      最近更新 更多