首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储在python df中的dict的访问值

问存储在python df中的dict的访问值
EN

Stack Overflow用户
提问于 2022-01-21 10:59:59
回答 3查看 418关注 0票数 0

嗨,我想从存储在dataframe列中的字典中访问一个值,并将它导出到一个列表中。

我可以把它分割成一个字符串,就像这样

代码语言:javascript
复制
# dataframe
df = pd.DataFrame(data={'a':[{'word' : '3'}, {'word':'1'}, {'word':'0'}], 'b':['cat', 'dog', 'mouse']})

# get the number value as a string 
idx = df['a'].astype(str).str[10].to_list()

但我认为把它当作一本真正的字典并通过字典项目访问可能会更好。但是,当我通过df‘..items()创建列表时,该列表将数字存储在dict_values('x')字符串中,而我不想要这个字符串,我只想要3,1,0。

代码语言:javascript
复制
# get the number value as a dictionary item 
[i[1].values() for i in df['a'].items()]

欢迎所有建议。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-01-21 11:04:06

可以使用Series.str.get从带有字典的object列中提取值。

代码语言:javascript
复制
df['idx'] = df['a'].str.get('word')

indices = df['idx'].to_list()
票数 2
EN

Stack Overflow用户

发布于 2022-01-21 11:10:31

另一个选项是将列转换为列表,并将其转换为DataFrame构造函数。这将创建一个DataFrame,其中列对应于字典键,值对应于dict值。然后只需选择相关的列/键并将值转换为列表:

代码语言:javascript
复制
idx = pd.DataFrame(df['a'].tolist())['word'].tolist()

输出:

代码语言:javascript
复制
['3', '1', '0']
票数 2
EN

Stack Overflow用户

发布于 2022-01-21 11:18:48

嗨,你可以用一个连接

代码语言:javascript
复制
listElement = [''.join(i[1].values()) for i in df['a'].items()]

输出:

代码语言:javascript
复制
['3', '1', '0']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70800212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档