Как объединить строки серии Pandas в Python - PullRequest
0 голосов
/ 10 июля 2020

У меня есть серия Python pandas, содержащая много строк, и эти строки содержат список слов, например:

25     [estimated, million, people, lived, vulnerable...
176                                   [cent, vulnerable]
7      [create, sound, policy, frameworks, poor, vuln...
299    [create, sound, policy, frameworks, cent, vuln...
283    [missing, international, levels, based, estima...
                             ...                        
63     [create, sound, policy, frameworks, world, pop...
259             [build, world, population, still, lived]
193    [create, sound, policy, frameworks, every, sta...
284    [cent, situation, remains, particularly, alarm...
43     [based, less, cent, share, property, inheritan...
Name: clean_text, Length: 300, dtype: object

Как я могу объединить все слова строк в один список? Я пробовал:

nameofmyfile.str.cat(sep=', ')

Но у меня возникла ошибка:

TypeError: невозможно использовать .str.cat со значениями предполагаемого dtype 'mixed'.

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Вот хакерский способ.

# step 1: Convert to a list
our_list = df["series"].tolist()

# step 2: Make a new empty list and build it up
new_list = []
for words in our_list:
    new_list += words
0 голосов
/ 10 июля 2020

Данное решение подходит @Alexis, но я всегда против использования циклов и голосов за векторизацию. Я создал очень похожую серию, как указано в вопросе, а именно:

>>> a
foo    [hi, hello, hey]
bar     [I, me, myself]
dtype: object

Теперь, используя метод конкатенации из numpy, списки foo, bar будут объединены вместе, чтобы сформировать единый массив элементов :

>>> import numpy as np
>>> np.concatenate(a.values)
array(['hi', 'hello', 'hey', 'I', 'me', 'myself'], dtype='<U6')

Теперь я не думаю, что должна быть какая-либо проблема с возвращенным массивом numpy, тем не менее, если вы хотите выводить в виде списка, вы можете использовать встроенный метод list() или numpy .ndarray .tolist() метод вывода в виде списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...