Как подсчитать, сколько раз значение встречается в каждом столбце (на столбец), используя Pandas? - PullRequest
0 голосов
/ 03 октября 2018

Можно ли в любом случае использовать панды для подсчета количества раз, которое определенное значение встречается в каждом столбце?

data = pd.DataFrame ({'userID': ['Luis', 'Mike ',' Harvey '],' category1 ': [True, False, True],' category2 ': [True, True, False],' category3 ': [False, False, False]})

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

 Category 1  -- Category 2 -- Category 3
      2             2              0

Как бы я поступил так?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

a = dict(df.category1.value_counts()) Это дает вам вывод как {True: 20, False: 15}

0 голосов
/ 03 октября 2018

Вы можете посчитать возникновение по sum логической маски - True значения - это процессы, такие как 1 s:

#count all columns without first to Series
print (data.iloc[:, 1:].sum().astype(int))

category1    2
category2    2
category3    0
dtype: int32

#or to one row DataFrame
df = data.iloc[:, 1:].sum().astype(int).to_frame().T

Общее решение с eq (==):

val = True
df = data.iloc[:, 1:].eq(val).sum().astype(int).to_frame().T
print (df)

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