Дублирование строк с определенным значением в столбце - PullRequest
0 голосов
/ 04 ноября 2018

Мне нужно продублировать строки с определенным значением в столбце и заменить его другим значением.

Например, у меня есть эти данные:

import pandas as pd    
df = pd.DataFrame({'Date': [1, 2, 3, 4], 'B': [1, 2, 3, 2], 'C': ['A','B','C','D']})

Теперь я хочу продублировать строки, имеющие 2 в столбце «B», а затем изменить 2 на 4

.
df = pd.DataFrame({'Date': [1, 2, 2, 3, 4, 4], 'B': [1, 2, 4, 3, 2, 4], 'C': ['A','B','B','C','D','D']})

Пожалуйста, помогите мне в этом. Спасибо.

1 Ответ

0 голосов
/ 04 ноября 2018

Вы можете использовать append, чтобы добавить строки, где B == 2, которые вы можете извлечь с помощью loc, но также переназначить B на 4 с помощью assign. Если порядок имеет значение, вы можете заказать по C (воспроизвести желаемый кадр):

>>> df.append(df[df.B.eq(2)].assign(B=4)).sort_values('C')
   B  C  Date
0  1  A     1
1  2  B     2
1  4  B     2
2  3  C     3
3  2  D     4
3  4  D     4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...