Как использовать value_counts (), чтобы получить количество значений после использования логического значения для фрейма данных? - PullRequest
0 голосов
/ 11 апреля 2020

Итак, я пытаюсь проанализировать набор данных в colab, и он выглядит примерно так:

df = pd.read_csv('gdrive/My Drive/python_for_data_analysts/Agora Data.csv')
df.info()

Столбцы данных (всего 9 столбцов):

 #   Column             Non-Null Count   Dtype 
---  ------             --------------   ----- 
 0   Vendor             109689 non-null  object
 1    Category          109689 non-null  object
 2    Item              109687 non-null  object
 3    Item Description  109660 non-null  object
 4    Price             109684 non-null  object
 5    Origin            99807 non-null   object
 6    Destination       60528 non-null   object
 7    Rating            109674 non-null  object
 8    Remarks           12616 non-null   object

Есть столбец категории и происхождения, и я пытаюсь получить подсчет значений конкретно для категорий с происхождением, скажем, только в Китае или США. Что-то похожее на:


USA              33729
UK               10336
Australia         8767
Germany           7876
Netherlands       7707
Canada            5126
EU                4356
China             4185

Я отфильтровал все, кроме строк с происхождением из Китая, но когда я пытаюсь получить подсчет значений для различных категорий в Китае, он не выводит правильный список, как приведенный выше.

china_transactions = (df[' Origin'] == 'China') & (df[' Category']).value_counts()
china_transactions.head(50)

0     False
1     False
2     False
3     False
4     False
5     False
6     False
7     False
8     False

1 Ответ

1 голос
/ 11 апреля 2020

Создайте логическую серию, в которой «Origin» == «China», и поместите в DataFrame только эти строки. Затем возьмите value_counts столбца Категория. Вы можете использовать DataFrame.loc для одновременного комбинирования выбора строк и столбцов.

df.loc[df[' Origin'].eq('China'), 'Category'].value_counts()
#      ------------------------        |            |
#               |                  Take this    apply this
#        Only these rows            column       method
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...