我有一个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)