将包含元素列表的csv文件读入pandas datafram

2024-09-25 00:21:16 发布

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

我有以下格式的CSV文件:

index      A      B      C
ind1    [1,2,3][3,4,5][6,7,8]
ind2    [1,4,3,4,8][9,1,2,1,4][3,7,3,5,9]
ind3    [2,8][1,8][1,5]

其中每个单元格(比如A,ind1)都有一个列表[1,2,3]。 当我将其导入数据帧时:

^{pr2}$

我得到了一个与csv格式相同的数据帧,但是,单个单元格中的列表是作为字符串导入的。在

假设我索引ind1列的第一个元素 df.iloc[0]['A']给了我'['而不是{}

基本上,它将[1,2,3]作为一个长字符串来读取,而不是将其作为一个列表来读取。在

如何将所有单元格中的值转换为列表?在


Tags: 文件csv数据字符串元素df列表index
1条回答
网友
1楼 · 发布于 2024-09-25 00:21:16

有趣的问题。如果你要用pandas,我会先用literal_eval对列表进行编码。在

import pandas as pd from ast import literal_eval df = pd.read_csv("filename.csv")

然后可以使用pandas applymap将literal_eval函数应用到每个单元格。在

df[['A', 'B', 'C']] = df[['A', 'B', 'C']].applymap(literal_eval)

现在,您已经提取了这个列表,您可以像普通列表一样对它们做出反应。 e、 g.这将为您提供第一个列表中的第一个元素:

^{pr2}$

我希望这对你有帮助

相关问题 更多 >