Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.07.2020
Сообщений: 4

pandas подсчет количества по строкам в dataframe по условию

30.08.2021, 12:52. Показов 7263. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, прошу помощи, нужно создать столбец который посчитает количество не нулевых дней в датафрейме. Иными словами пройтись по каждой строке в конкретном диапазоне (только по столбцам с датой (без учета двух первых, и последнего столбцов)) и посчитать количество дней в котором значение больше 0.
Заранее огромной спасибо!
Миниатюры
pandas подсчет количества по строкам в dataframe по условию  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.08.2021, 12:52
Ответы с готовыми решениями:

Удаление строк по условию в DataFrame (Pandas)
Никак не получается удалить всю строку по условию df.drop(df.iloc.apply(lambda x: float(x)) < lower_limit_ot) Выдает ошибку ...

Pandas. Изменение значений Dataframe исходя из другого Dataframe
Добрый день. Прошу подсказать с реализаций следующего алгоритма: я загружаю из файла примерно следующий Dataframe(db): ...

Pandas: подсчет количества уникальных значений в Series
Подскажите, пожалуйста, как посчитать количество уникальных значений (каждого отдельно) в колонке датафрейм. В коде показал через метод...

5
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
30.08.2021, 14:24
Лучший ответ Сообщение было отмечено Dimqa4a как решение

Решение

Dimqa4a,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd
import numpy as np
 
df1 = pd.DataFrame({'период': np.arange(10)})
df2 = pd.DataFrame({'объект': np.arange(101, 1000, 97)})
df3 = pd.DataFrame(np.random.randint(-2, 3, (10,5)), columns = list('abcde'))
df = pd.concat([df1, df2, df3], axis=1)
 
#####
df['sum_day'] = df[df.iloc[:, 2:-1] > 0].sum(1).astype(int)
#####
 
print(df)
1
0 / 0 / 0
Регистрация: 28.07.2020
Сообщений: 4
30.08.2021, 14:36  [ТС]
Огромное спасибо.
df['счет'] = df[df.iloc[:,2:-1] > 0].count(axis=1) - такая конструкция помогла.
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
30.08.2021, 14:37
Python
1
2
>>> search = slice(3,5)
>>> df[df.iloc[:, search]!=0].count()[search]
Добавлено через 1 минуту
Dimqa4a, присваивание имен срезам, в дальнейшем упрощает чтение диапазонов поиска
1
0 / 0 / 0
Регистрация: 28.07.2020
Сообщений: 4
30.08.2021, 14:41  [ТС]
Спасибо за совет!
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
30.08.2021, 15:47
Если количество ненулевых элементов (из заголовка темы, а не из текста - "...количество дней в котором значение больше 0..."), то можно и так
Python
1
df['счет'] = np.count_nonzero(df.iloc[:,2:-1], 1)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.08.2021, 15:47
Помогаю со студенческими работами здесь

Pandas dataframe
Доброго дня форумчане. Возник следующий вопрос. Есть у меня таблица, которую необходимо "перевернуть". Так dataframe...

Pandas Dataframe
я импортирую фрейм данных из excel. Столбец 1 установлен как индекс. Я хочу проверить в индекс (Столбец 1) пустой ячейке с помощью цикла...

Dataframe pandas
Всем привет! Есть dataframe книги. Автор1 книга 1 Автор 2 книга 2 Автор 1 книга 3 Как можно сформировать xml файл с...

Pandas (DataFrame)
Как считать большой файл частями и записать применяя фильтр как считать частями я понял: pd.read_csv(doc_red, encoding='utf8',...

Выборка в DataFrame Pandas
Подскажите пожалуйста с задачей, не выходит сделать выборку, как в задании в DataFrame Pandas. 1.Оставьте в выборке только те...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru