Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:从extractall连接结果_Python_Pandas - Fatal编程技术网

Python 熊猫:从extractall连接结果

Python 熊猫:从extractall连接结果,python,pandas,Python,Pandas,我有一个dataframe,我想提取一个模式的所有出现,然后将它们作为单个字符串连接起来,成为原始dataframe的一个新列 例如: original = pd.DataFrame(["bonjour bonjour", "au revoir bonjour", "lala"]) 0 0 bonjour bonjour 1 au revoir bonjour 2 lala 预期结果:

我有一个dataframe,我想提取一个模式的所有出现,然后将它们作为单个字符串连接起来,成为原始dataframe的一个新列

例如:

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                  

您需要使用
findall
而不是提取所有

original['new'] = original[0].str.findall('bonjour').apply(','.join)

          0                  new
0    bonjour bonjour   bonjour, bonjour
1  au revoir bonjour            bonjour
2               lala                  

它说“TypeError”:只能连接一个iterable
original[1]=original[0]。str.findall('bonjour')。str.join(',')
更快更简洁。它说“TypeError”:只能连接一个iterable
original[1]=original[0]。str.findall('bonjour')。str.join(',')
更快更简洁。