Подсчитайте все элементы в списке в кадре данных (Python) - PullRequest
0 голосов
/ 12 июля 2020

У меня есть фрейм данных с двумя столбцами

Text           Categories
"Hi Hello"     [F35, B3, C98]
"Where is"     [G58, F35, C17]
"Is she?!"     [T92, F35, B3]

поле Categories представляет собой массив категорий

Я хочу узнать, сколько разных категорий у меня есть

Я пробовал этот код, но не работал

print(len(sorted(set(df['Categories']))))

Я пробовал, но это было только для одной записи!

print(len(sorted(set(df['Categories'][0]))))

Я не знал, как это сделать для всех категорий в кадре данных?

1 Ответ

2 голосов
/ 12 июля 2020

Это должно дать вам уникальные категории.

In [128]: df = pd.DataFrame({
     ...:     'Text': ["Hi Hello", "Where is","Is she?!"],
     ...:     'Categories': [["F35", "B3", "C98"],["G58", "F35", "C17"],["G58", "F35", "C17"]]
     ...: })
In [131]: set(df["Categories"].explode())
Out[131]: {'B3', 'C17', 'C98', 'F35', 'G58'}

Кредиты для @DanielGeffen - вы также можете использовать df["Categories"].explode().unique()

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