Как использовать полосовые методы по всем индексам серии? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть серия с каждым индексом, содержащим массив строк, как показано ниже:

0 | ['value 1', 'value 2', 'value 3']
1 | ['value 4']
2 | ['value 1', 'value 3']

По сути, я хочу вызвать lstrip и rstrip в квадратных скобках, чтобы затем удалить их из каждой индексированной строки. запустите подсчет частоты по всем элементам, чтобы получить общее количество каждого уникального значения по всем индексам в серии. Я могу удалить любой отдельный индекс, используя:

x = df1['Column'][0].lstrip('[').rstrip(']') .     #[0] is index

, который выводит

'value 1', 'value 2', 'value 3'

Как бы я перебрал каждый индекс для выполнения этой функции для всех строк?

По сути, если я просто запускаю

x = df1['Column'].str.split(',', expand=True).stack().value_counts()

для этого набора данных, некоторые из уникальных значений в выходных данных будут содержать '[' или ']', если они являются первыми или последнее значение в массиве для данной строки, которая отбрасывает значения частоты, поскольку вместо суммирования уникального значения вывод будет выглядеть примерно так:

['value 1' | 35
'value 1' | 20

вместо

'value 1' | 55
...