我有一个pandas数据框架,如下所示。我想去掉列表中字符串的单引号。如有任何建议,欢迎。
name relations
0 mary ['andrew', 'jane']
1 jack ['priscilla', 'mary']
2 jason ['howard', 'jackie']
预期输出
name relations
0 mary [andrew, jane]
1 jack [priscilla, mary]
2 jason [howard, jackie]
字符串变为对象,如果未定义则显示错误。但是它应该能满足你的需要。
df['relations'] = df['relations'].apply(lambda x: list(map(eval,x)))
我遇到这个问题的主要原因是我的列表以字符串的形式存储在数据框中。
在
for i, l in enumerate(df[0]):
print("list",i,"is",type(l))
输出是
list 0 is <class 'str'>
list 1 is <class 'str'>
list 2 is <class 'str'>
当我执行以下代码时-
df['relations'] = df['relations'].apply(eval)
我得到了一个列表,现在它是正确的。
的输出for i, l in enumerate(df[0]):
print("list",i,"is",type(l))
给我list 0 is <class 'list'>
list 1 is <class 'list'>
list 2 is <class 'list'>
再次执行df基本上可以得到我想要的->列表中没有单引号
name relations
0 mary [andrew, jane]
1 jack [priscilla, mary]
2 jason [howard, jackie]