将字符串的数据帧列转换为单个列表

数据帧:


col0    col1                col2

user1   {'asdf','defa'}     {'zxvc','vbcz'}

user2   {'asdff','defadg'}  {'zxdfc','vadz'}

dtype: object


in: type(df.col1[0])

out: str

尝试将 col1 和 col2 中的行(即字符串)转换为单独的列表(在单独的列中;不希望将这两列合并到一个列表中)。


我在尝试使用json.load或json.load或ast.literal_eval时不断收到错误:


df.col1.apply(ast.literal_eval)

error: unknown line 1


df.col1.apply(json.loads)

works but nothing seems to have changed


df.col1.apply(json.load)

error: str object has no attribute 'read'; which is why i tried json.loads


红糖糍粑
浏览 66回答 1
1回答

桃花长相依

您可以使用DataFrame.applymap:from ast import literal_eval df.applymap(lambda c: list(literal_eval(c)))输出:如果您有更多具有不同数据类型的列,则可以使用:df.col1 = df.col1.apply(lambda c: list(literal_eval(c))) df.col2 = df.col2.apply(lambda c: list(literal_eval(c)))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python