擅长:python、mysql、java
<p>您可以使用<code>ast.literal_eval</code>安全地读取作为字符串输出的列表。解释真实列表的一种方法是捕获<code>ValueError</code>。你知道吗</p>
<p>请注意,如果可能的话,您应该尝试在这些问题到达您的数据帧之前对它们进行上游排序。你知道吗</p>
<pre><code>from ast import literal_eval
df = pd.DataFrame({'sid': [1, 1, 1, 1],
'path': ['["rome","is","in","province","lazio"]',
"['rome', 'is', 'in', 'province', 'naples']",
['N'],
"['rome', 'is', 'in', 'province', 'in', 'campania']"]})
def converter(x):
try:
return ' '.join(literal_eval(x))
except ValueError:
return ' '.join(x)
df['path'] = df['path'].apply(converter)
print(df)
path sid
0 rome is in province lazio 1
1 rome is in province naples 1
2 N 1
3 rome is in province in campania 1
</code></pre>