|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||||||||||||
Разнести значения из одного столбца по остальным в зависимости от значения01.11.2024, 12:20. Показов 2106. Ответов 36
Добрый день.
Создал такой датафрейм
Написал функцию
В общем, задачка вроде простая, но прошу подсказки.
0
|
||||||||||||||||
| 01.11.2024, 12:20 | |
|
Ответы с готовыми решениями:
36
Изменить значения одного столбца в зависимости от значений другого Подстановка одного значения из двух таблиц в зависимости от значения в третьей таблице Вычисление значения функции в зависимости от одного заданного пользователем значения аргумента |
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 02.11.2024, 17:42 | |
|
M_a_e_s_t_r_o, +1 в формуле - количество неучитываемых столбцов
Для Вашего примера +6 А так - при работе с пандас критически важны реальные данные…
1
|
|
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||
| 05.11.2024, 14:54 [ТС] | ||||||
|
Уважаемый volkomorov, прошу ещё раз помочь.
Немного изменилась задача - надо ячейки заполнять не единицей, а значением. Собственно, как сначала озаглавил шапку темы. я понимаю, что в коде
0
|
||||||
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
|
| 05.11.2024, 15:03 | |
|
А каким значением надо заменить?
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
||||||
| 05.11.2024, 15:35 | ||||||
|
M_a_e_s_t_r_o,
В пандасе есть оказывается метод get_dummies:
https://pandas.pydata.org/docs... mmies.html А заменить 1 на значения можно, просто перемножив матрицу на вектор-столбец (вектор-строку) или просто число
0
|
||||||
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||
| 05.11.2024, 15:48 [ТС] | ||
|
volkomorov,
В датафрейме есть столбец 'SUMM', значением из этой ячейки надо заполнить. (Перечитал свой вопрос - да, действительно, можно понять, что заполнить какой-то константой) Добавлено через 11 минут Gdez, спасибо конечно, но я этого просто не понимаю. Я привык мыслить 30 лет назад перебором таблицы вложенными циклами с сортировкой и подсуммировкой по условию и занесением результата в массив (n-мерный, если нужны итоги по месяцам, отделам и т.д.) - так можно было сделать любой отчёт и сформировать любые данные. Можно, наверное, и в Python такое написать, а смысл тогда писать на Python? Дилемма.
0
|
||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 05.11.2024, 15:51 | |
|
M_a_e_s_t_r_o, Хорошо
Если что, вдруг пригодится - старая методичка по пандасу:
0
|
|
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
|
| 05.11.2024, 16:35 | |
|
просто 1 заменить df['SUM']
0
|
|
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
|
| 05.11.2024, 21:16 [ТС] | |
|
просто 1 заменить df['SUM'] - это была первая мысль.
Сделал - не работает, зависло. Потом дошло, что раз добавились столбы,то columns = df_SBP.columns.values не будет верно. Сделал columns = ['ERR', 'E1', 'E2', 'E3', 'E4', 'E5', 'E6', 'E7', 'E8', 'E9', 'E10', 'E11', 'E12', 'E0']. Получилось, спасибо.
0
|
|
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||||||||||||||||||||||
| 06.11.2024, 16:15 [ТС] | ||||||||||||||||||||||||||
|
volkomorov,
а можно ещё ровно полстрочки кода? мне нужно подсчитать не только сумму ошибочных платежей по дням, но и количество. Родилась такая строка кода:
Решил разделить 'sum' и 'count', добавив в датафрейм столбцы.
Имя датафрейма реальное, оставил как есть. Добавлено через 7 минут Gdez, Вашу методичку смотрел внимательно, там .loc упоминается 2 раза Индексация
Группировка
0
|
||||||||||||||||||||||||||
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
|||||||||||
| 06.11.2024, 18:32 | |||||||||||
еще вариант
0
|
|||||||||||
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||
| 06.11.2024, 20:40 [ТС] | ||||||
|
volkomorov, да, работает. Второй вариант не проверял.
Собственно, задача стара как мир - есть таблица платежей (дата, сумма платежа, код ошибки (семантика нуля - "без ошибки")). Надо сгруппировать (раньше говорили "подсуммировать") по вертикали дням и разложить по горизонтали итоги по дням по кодам ошибок (сумма платежей, кол-во платежей). С формированием этой таблицы из исходной я справился (включая кодирование ошибок, в оригинале - текст, ну и по виду платежа надо было отобрать, и регуляркой типовые ошибки из текстовых сформировать). Но на финише встал, так что спасибо за уделённое время. Возможно, даже итоговую строку кода можно сделать изящнее, чем у меня:
0
|
||||||
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
||||||
| 06.11.2024, 22:10 | ||||||
|
Можно использовать сводную таблицу
0
|
||||||
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
|
| 07.11.2024, 11:18 [ТС] | |
|
volkomorov, спасибо.
Только у меня при формировании pivot KeyError: 'DATA'
0
|
|
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
|||||||||||
| 07.11.2024, 11:21 | |||||||||||
|
Это пример, в вашем случае надо заменить
0
|
|||||||||||
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||
| 07.11.2024, 11:39 [ТС] | ||||||
|
volkomorov,
Да, так работает, но выполняется для всех столбцов, то есть результат выглядит крайне непрезентабельно. Наудачу попробовал
То есть aggfunc должна выполняться для некоторых столбцов, не всех. Ну ладно, главное есть конечный результат.
0
|
||||||
|
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
|
|
| 07.11.2024, 12:06 | |
|
Можно добавить value и указать там нужные столбцы. Более подробная информация по pivot_table есть в документации по pandas.
0
|
|
|
28 / 3 / 1
Регистрация: 25.05.2022
Сообщений: 33
|
||||||
| 07.11.2024, 14:43 [ТС] | ||||||
|
volkomorov, да, оказалось несложно
E0 E1 E10 E11 E12 E2 E3 E4 E5 E6 E7 E8 E9 и заказчик хочет сначала столбец с суммой, а потом с количеством. Но это и в экселе переставить можно.
0
|
||||||
| 07.11.2024, 14:43 | |
|
Построение графика зависимости одного значения от другого, для примера есть график и значения Замена одного значения другим, в зависимости от этого значения Разнести отрицательные, положительные значения и значения из диапазона по разным файлам
Выбрать значения из одного столбца в два столбца Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|