Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 3 / 1
Регистрация: 10.09.2021
Сообщений: 3

Pandas Слияние с NaN

10.09.2021, 04:02. Показов 1577. Ответов 3

Студворк — интернет-сервис помощи студентам
Доброго всем дня!
Возник вопрос, на который пока ответ не придумывается: есть DataFrame df, нужно по одному столбцу слить значения, начинающиеся с одного значения не NaN другого столбца до следующего.
Более наглядно на примере:
Есть:
Index Id_1 Text_1 Data_1
1 1 a 1
2 NaN b 7
3 NaN NaN 8
4 1 u 2
5 NaN NaN 3
6 NaN NaN 8
7 5 b 4
8 NaN c 6

Надо - объединяем Text_1 по Id_1:
Index Id_1 Text_1 Data_1
1 1 ab 1
2 NaN ab 7
3 NaN ab 8
4 1 u 2
5 NaN u 3
6 NaN u 8
7 5 bc 4
8 NaN bc 6

Довольно экзотично, не могу сообразить как это хоть как-то сделать, не говоря уже об изящности.
Заранее огромное спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2021, 04:02
Ответы с готовыми решениями:

Pandas merge не учитывать nan
Добрый день. У меня вопрос по библиотеке pandas. Есть 2 df - слияние происходит на 2 столбцам: 1 столбец всегда имеет соответствие и не...

Pandas. Заменить NaN на среднее значение того же жанра игры
На начальном датасете в поле User_Count значение Nan замените средним значением количества пользователей среди игр того же жанра. ...

Присвоение координат NaN, NaN, Nan игровому объекту
Приветствую форумчане. Подскажите кто чем может. Делаю игру для Андроид. На сцене есть ряд игровых объектов - планеты. Они...

3
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
10.09.2021, 05:19
DarkEmperor,
Для:
Index Id_1 Text_1 Data_1
1 1 a 1
2 NaN b 7
3 1 u 2
4 2 NaN 8
5 NaN f 5
6 NaN y 6
7 4 e 6

Будет?:
ab
ab
ufy
ufy
ufy
ufy
e
0
3 / 3 / 1
Регистрация: 10.09.2021
Сообщений: 3
10.09.2021, 05:56  [ТС]
Не совсем, не пустой символ второго столбца каждый раз запускает новую строку, в частности, в 4 строке. Соответственно, на
1 1 a 1
2 NaN b 7
3 1 u 2
4 2 NaN 8
5 NaN f 5
6 NaN y 6
7 4 e 6
ожидается
ab
ab
u
fy
fy
fy
e
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
10.09.2021, 11:18
Лучший ответ Сообщение было отмечено DarkEmperor как решение

Решение

DarkEmperor,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'Id_1': [1, np.nan,1,2,np.nan,np.nan,4],
                    'Text_1': ['a','b','c',np.nan,'f','u','e']})
print(df)
 
############
 
df['tmp'] = np.arange(len(df.index)) - df['Id_1'].isna().cumsum()
 
dct = df.groupby('tmp')['Text_1'].agg(lambda x: ''.join(x.fillna('').tolist())).to_dict()
 
df['Text_1_new'] = df['tmp'].map(lambda x: dct[x])
df = df.drop('tmp', 1)
 
############
print(df)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2021, 11:18
Помогаю со студенческими работами здесь

Заменить на NaN каждые пять строк до и после NaN
Здравствуйте! Я работаю с движениями глаз, на данный момент мне нужно обработать данные для одного эксперимента. Проблема довольно...

Как мне во второй массив hfls в те точки, где в массиве ice стоят NaN, записать эти NaN
Добрый день, у меня есть два трехмерных массива одинаковой длины по всем трем размерностям: hfls и ice. Размер допустим 22*5*12 (22...

Сколько будет 3 - Nan и Nan - 3 ?
Сколько будет 3 - Nan и Nan - 3 ?

Ошибка -nan(ind) и nan
Доброго времени суток форумчане! Решаю задачу, в которой необходимо найти площадь треугольника по координатам его вершин. Все значения не...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки 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
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru