从pandas dataframe中的字符串列表中删除单引号



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

相关内容

  • 没有找到相关文章

最新更新