Python: как посчитать конкретные значения в определенных столбцах в кадре данных

1

У меня есть определенный csv, например:

col1 col2 col3 col4

a    1    2     3

b    1    2     1 

c    1    1     3

d    3    1     2 

Я хочу подсчитать количество определенного значения, например. 1 в col2, col3 и col4

Я использую следующий код, используя pandas

import pandas as pd

fname = input('Enter the filename:')
df = pd.read_csv (fname, header='infer')
one = df.iloc[:,1:4].value_counts(normalize=False).loc[1]

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

import pandas as pd
fname = input('Enter the filename:')
df = pd.read_csv (fname, header='infer')
one = df[col1].value_counts(normalize=False).loc[1]

Мне нужен следующий вывод

col2 3

col3 2

col4 1

Любая помощь или советы будут очень признательны! Заранее спасибо. :)

Теги:
pandas
dataframe
count

1 ответ

3
Лучший ответ

Используйте eq с желаемым значением, т.е. 1 а затем sum как:

df1[['col2', 'col3', 'col4']].eq(1).sum()

col2    3
col3    2
col4    1
dtype: int64
  • 0
    Большое спасибо за ваш быстрый ответ. Это сработало. Это была большая помощь для меня.
  • 0
    @userAD Добро пожаловать!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню