从pandas datafram中提取列

2024-09-30 02:15:15 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从以下包含pandas df的字典中提取列pandas df:(我需要索引中的所有值'name')

nutrients_df
Out[63]: 
                                          nutrients
0     [{'code': '203cp1252', 'name': 'Proteincp1252'...
1     [{'code': '203cp1252', 'name': 'Proteincp1252'...
2     [{'code': '203cp1252', 'name': 'Proteincp1252'...
3     [{'code': '203cp1252', 'name': 'Proteincp1252'...
4     [{'code': '203cp1252', 'name': 'Proteincp1252'...
5     [{'code': '203cp1252', 'name': 'Proteincp1252'...
6     [{'code': '203cp1252', 'name': 'Proteincp1252'...

“营养素_df”定义为json数据库中的熊猫df,如下所示:

^{pr2}$

Tags: name数据库jsonpandasdf字典定义code
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:15

我不确定您的df.nutrients系列中的数据类型。下面是几个示例,说明如何从类似字典的对象中提取name。在

import pandas as pd
from ast import literal_eval

# If your columns are genuine dictionaries
df = pd.DataFrame([[{'code': '203cp1252', 'name': 'Proteincp1252'}],
                   [{'code': '203cp1252', 'name': 'Proteincp1253'}],
                   [{'code': '203cp1252', 'name': 'Proteincp1254'}]],
                  columns=['nutrients'])

df['name'] = df['nutrients'].apply(lambda x: x['name'])

# If your column is a string
df = pd.DataFrame([["{'code': '203cp1252', 'name': 'Proteincp1252'}"],
                   ["{'code': '203cp1252', 'name': 'Proteincp1253'}"],
                   ["{'code': '203cp1252', 'name': 'Proteincp1254'}"]],
                  columns=['nutrients'])

df['name'] = df['nutrients'].apply(lambda x: literal_eval(x)['name'])

相关问题 更多 >

    热门问题