我有一个数据框,我想提取一个模式的所有出现,然后将它们作为单个字符串连接起来,成为我原始数据框的一个新列。
例子:
original = pd.DataFrame(["bonjour bonjour", "au revoir bonjour", "lala"])
0
0 bonjour bonjour
1 au revoir bonjour
2 lala
预期结果:
0 1
0 bonjour bonjour bonjour, bonjour
1 au revoir bonjour bonjour
2 lala
我卡住的地方:
extracted = original[0].str.extractall("(bonjour)")
0
match
0 0 bonjour
1 bonjour
1 0 bonjour
我无法处理这个结果,我真的不知道如何使用该结构。这看起来很简单,但根据我访问它的方式,我得不到我想要的。
请您参考如下方法:
您需要使用 findall 而不是全部提取,即
original['new'] = original[0].str.findall('bonjour').apply(','.join)
0 new
0 bonjour bonjour bonjour, bonjour
1 au revoir bonjour bonjour
2 lala
