我如何使用Pandas在绳子上爆炸?

2024-05-04 06:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下熊猫数据框

df=pd.DataFrame({'questionId':[1, 2],'answer':['["Trustful", "Curious", "Nervous"]', "very good"]})
df.explode('answer')

实际答案是:

questionId  answer
0   1   ["Trustful", "Curious", "Nervous"]
1   2   very good

我想要的答案:

questionId  answer
0   1   Trustful
0   1   Curious
0   1   Nervous
1   2   very good

你能帮我做些什么吗

'["Trustful", "Curious", "Nervous"]' to ["Trustful", "Curious", "Nervous"] 

这样我就能得到我想要的答案

事先非常感谢你


1条回答
网友
1楼 · 发布于 2024-05-04 06:05:19

尝试使用str.findall

s = df.answer.str.findall('"([^"]*)"')
out = df.assign(answer = np.where(s.astype(bool),s,df.answer)).explode('answer')
out
   questionId     answer
0           1   Trustful
0           1    Curious
0           1    Nervous
1           2  very good

相关问题 更多 >