python - 如何将包含列表的字典转换为列的不同类型的字典

标签 python pandas dataframe dictionary

我有一个像这样的数据框:

import pandas as pd
    frame={'location': {(2, 'eng', 'US'): {"['sc']": 3, "['delhi']": 2, "['sonepat', 'delhi']": 1, "['new delhi']": 1}}}
    df=pd.DataFrame(frame)
    df.head()

输出

                            location
2       eng       US    {"['sc']": 3, "['delhi']": 2, "['sonepat', 'delhi']": 1, "['new delhi']": 1}

  

我想将 df['location'] 列内的类型更改为不列出,例如:

                            location
2       eng       US    {'sc': 3, 'delhi': 2, 'sonepat', 'delhi': 1, 'new delhi': 1}

最佳答案

你可以试试这个:

import pandas as pd


df = pd.DataFrame(
    {
        "location": {
            (2, "eng", "US"): {
                "['sc']": 3,
                "['delhi']": 2,
                "['sonepat', 'delhi']": 1,
                "['new delhi']": 1,
            }
        }
    }
)

df["location"] = df["location"].apply(
    lambda x: str(x).replace("['", "").replace("']", "")
)

print(df)
#Outputs
                                                   location
2 eng US  {"sc": 3, "delhi": 2, "sonepat', 'delhi": 1, "...

关于python - 如何将包含列表的字典转换为列的不同类型的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69746285/

相关文章:

r - 计算数据框行中的唯一元素并返回出现次数最多的元素

python - Pandas:从带有字符串标题的列中删除某些值

python - 使用Lambda函数进行分组和聚合

python - pandas 在 groupby 中找到最大值并应用函数

python - 以编程方式将网页保存到静态 HTML 文件的最佳方法

python - 更改数据透视表的索引?

python - 来自 x、y 值的 Matplotlib 直方图,日期时间月份作为 bin

python - 在 python 中搜索嵌套列表

python - 如何比较两个数据框,并添加两者之一没有的行和列

python - 如何读取pandas中的第一列和最后一列?