Python Dataframe列是字典列表以及如何解析它

6yoyoihd  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(197)

我有 Dataframe :
| 身份证|姓名|描述|
| - ------|- ------|- ------|
| 1个|一些|[{“ID”:20,“名称”:“此智能需求名称列”,“值”:“此智能需求行中的值”},{“ID”:22,“名称”:“此智能需求名称列2”,“值”:“此智能需求行中的值”}]|
| 第二章|约2|[{“ID”:23,“名称”:“此智能需求名称列”,“值”:“此智能需求行中的值”},{“ID”:24,“名称”:“此智能需求名称列2”,“值”:“此智能需求行中的值”}]|
我想:
| 身份证|姓名|此“我想作为名称”列|此“我想作为名称”列2|
| - ------|- ------|- ------|- ------|
| 1个|一些|此I需要行中的值|此值位于行2中|
| 第二章|约2|此I需要行中的值|此值位于行2中|
我尝试编写函数,但它为我创建了一个新 Dataframe ,然后我必须通过某些东西连接它,但效果不佳:

def proccess_customFields(row):
    customF={}
    for item in row:                
        customF["custom_field-{}".format(item.get('name'))] = item.get('value')
        result= pd.DataFrame.from_dict(customF,orient='index').T
    return result
iecba09b

iecba09b1#

如果您有一个dict列表(而不是JSON字符串),您可以尝试:

df1 = df.pop('describe').apply(lambda x: pd.Series({l.get('name'): l.get('value') for l in x}))
out = pd.concat([df, df1], axis=1)
print(out)

# Output
   id   name  thisIwantAsNameColumn  thisIwantAsNameColumn2
0   1   some  thisIwantasValueinRow  thisIwantasValueinRow2
1   2  some2  thisIwantasValueinRow  thisIwantasValueinRow2

相关问题