嗨,我想从存储在dataframe列中的字典中访问一个值,并将它导出到一个列表中。
我可以把它分割成一个字符串,就像这样
# 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。
# get the number value as a dictionary item
[i[1].values() for i in df['a'].items()]欢迎所有建议。谢谢
发布于 2022-01-21 11:04:06
可以使用Series.str.get从带有字典的object列中提取值。
df['idx'] = df['a'].str.get('word')
indices = df['idx'].to_list()发布于 2022-01-21 11:10:31
另一个选项是将列转换为列表,并将其转换为DataFrame构造函数。这将创建一个DataFrame,其中列对应于字典键,值对应于dict值。然后只需选择相关的列/键并将值转换为列表:
idx = pd.DataFrame(df['a'].tolist())['word'].tolist()输出:
['3', '1', '0']发布于 2022-01-21 11:18:48
嗨,你可以用一个连接
listElement = [''.join(i[1].values()) for i in df['a'].items()]输出:
['3', '1', '0']https://stackoverflow.com/questions/70800212
复制相似问题