【问题标题】:How to convert dataframe columns which contains specific string to each columns to a nested dictionary?如何将包含特定字符串的数据框列转换为嵌套字典?
【发布时间】:2022-10-04 17:22:33
【问题描述】:

我有一个只有一行的数据框,其中包含诸如 subscription_id_avg、subscription_id_std 等列,大约 84 列。每列包含一个平均值和一个标准差。我想将此数据框转换为嵌套字典,例如

{“subscription_id”:{“avg”:0.36,“std”:1.5}}

如何拆分列名并将其转换为嵌套字典形式?

【问题讨论】:

  • 请将您的数据框示例添加到问题中(作为文本,而不是图像)。

标签: python pandas dictionary nested


【解决方案1】:

这里,_std_avg 在每个列名中,所以column_name[:-4] 将给出所需的属性名称。例如,subscription_id_avg[:-4] 将产生 subscription_id。使用它,我们可以获得字典的键。

dict = {}
for cl in df.columns:
   key_name = cl[:-4]
   if dict.get(key_name) is None:
       dict[key_name] = {cl[-3:]: df[cl][0]}
   else:
       dict[key_name][cl[-3:]] = df[cl][0]

这里 dict 将是所需的 python 字典。希望这会有所帮助。 仅当 _avg_std 是列名中的唯一后缀时,这才有效。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2021-08-10
    • 2021-08-30
    • 2019-09-06
    • 2017-09-04
    相关资源
    最近更新 更多