как заполнить а и букву в pandas? - PullRequest
0 голосов
/ 05 августа 2020

Новое в pandas.

Изо всех сил пытается найти способ заполнить и объединить строку. Я импортировал лист Excel, а затем хотел заполнить пробел (NaN) исходным значением плюс некоторый отличитель (например,-1).

-from-

1 a

2 nan

3 b

4 nan

-to-

1 a

2 a-1

3 b

4 b-1

пример изображения в Excel Я использовал df.fillna(method='ffill') Но не могу понять, как добавить «-1» после «a» и «b» с помощью «ffill».

Любая помощь будет оценена. Спасибо !!

1 Ответ

0 голосов
/ 05 августа 2020

После того, как вы выполните ffill, вы можете вычислить порядок каждой строки с помощью groupby().cumcount():

df['col'] = df['col'].ffill()
orders = df.groupby('col').cumcount()

# concatenate the order except for the first rows
df['col'] = np.where(orders==0, df['col'], df['col'] + '-' + orders.astype(str))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...