在Pandas中错误地读取包含列表的列



我有一个pandas数据框架,其中包含从CSV读取的列和列表。例如,CSV中的列如下所示:

ColName2007
=============
['org1', 'org2']
['org2', 'org3']
...

因此,当我将这一列读入Pandas时,列的每个条目都被视为字符串,而不是字符串列表。

df['ColName2007'][0]返回"['org1', 'org2']"请注意,它被存储为字符串,而不是字符串列表。

我希望能够对这些数据执行列表操作。快速有效地将字符串列转换为包含字符串的列表列的好方法是什么?

我将使用strip/split:

df['ColName2007']= df['ColName2007'].str.strip("[]").str.split(",")

否则,你可以像@Bjay Regmi在评论中建议的那样应用ast.literal_eval

import ast
df["ColName2007"] = df["ColName2007"].apply(ast.literal_eval)

最新更新