数据帧:col0 col1 col2user1 {'asdf','defa'} {'zxvc','vbcz'}user2 {'asdff','defadg'} {'zxdfc','vadz'}dtype: objectin: type(df.col1[0])out: str尝试将 col1 和 col2 中的行(即字符串)转换为单独的列表(在单独的列中;不希望将这两列合并到一个列表中)。我在尝试使用json.load或json.load或ast.literal_eval时不断收到错误:df.col1.apply(ast.literal_eval)error: unknown line 1df.col1.apply(json.loads)works but nothing seems to have changeddf.col1.apply(json.load)error: str object has no attribute 'read'; which is why i tried json.loads
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
您可以使用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)))
添加回答
举报
0/150
提交
取消