Допустим, у меня есть кадр данных, который выглядит следующим образом:
REFERENCE_CODE translation
0 partyfav_batt xyz
1 party_fav_Cambiemos yxz
2 party_fav_argentina_kirchnerismo yzx
3 partyfav_argentina_Peronismo zyx
4 NaN NaN
5 1 NaN
6 2 NaN
7 3 NaN
8 4 NaN
9 8 NaN
10 9 NaN
11 NaN NaN
12 partyfav_batt NaN
13 partyfav_brazil_PMDB NaN
14 partyfav_brazil_PSDB NaN
15 partyfav_brazil_PP NaN
16 partyfav_brazil_PT NaN
17 NaN NaN
18 1 NaN
19 2 NaN
20 3 NaN
21 4 NaN
22 8 NaN
23 9 NaN
24 NaN NaN
Согласно Энди Хейдену,
TypeError: неверный тип операнда для унарного ~: 'float'
Я выполняю эти команды для объединения соответствующих:
df.REFERENCE_CODE = df.REFERENCE_CODE.fillna('').astype(str)
headers = (df.REFERENCE_CODE != '') & ~df['REFERENCE_CODE'].fillna('').str.isnumeric()
res = df.groupby(headers.cumsum())['REFERENCE_CODE'].apply(lambda x: x.iloc[0] + '_' + x)
df.REFERENCE_CODE.update(res[df.REFERENCE_CODE.str.isnumeric()])
, чтобы получить такой вывод:
REFERENCE_CODE translation
0 partyfav_batt xyz
1 party_fav_Cambiemos yxz
2 party_fav_argentina_kirchnerismo yzx
3 partyfav_argentina_Peronismo zyx
4 NaN
5 partyfav_argentina_Peronismo_1 a
6 partyfav_argentina_Peronismo_2 b
7 partyfav_argentina_Peronismo_3 c
8 partyfav_argentina_Peronismo_4 d
9 partyfav_argentina_Peronismo_8 e
10 partyfav_argentina_Peronismo_9 f
11 NaN
12 partyfav_batt NaN
13 partyfav_brazil_PMDB NaN
14 partyfav_brazil_PSDB NaN
15 partyfav_brazil_PP NaN
16 partyfav_brazil_PT NaN
17 NaN
18 partyfav_brazil_PT_1 NaN
19 partyfav_brazil_PT_2 NaN
20 partyfav_brazil_PT_3 NaN
21 partyfav_brazil_PT_4 NaN
22 partyfav_brazil_PT_8 NaN
23 partyfav_brazil_PT_9 NaN
Теперь это хорошо, для данныхэто имеет 1 ссылочный код и X количество значений. Некоторые точки данных имеют 4 ссылочных кода, связанных с X количеством значений.Моя цель - добиться чего-то подобного, сохраняя при этом целостность переводов (не обращая внимания на NaN - представьте, что там есть какие-то данные):
REFERENCE_CODE translation
0 partyfav_batt xyz
1 party_fav_Cambiemos yxz
3 partyfav_argentina_Peronismo zyx
4 NaN
5 partyfav_batt_1 a
6 partyfav_batt_2 b
7 partyfav_batt_3 c
8 partyfav_batt_4 d
9 partyfav_batt_8 e
10 partyfav_batt_9 f
5 party_fav_Cambiemos_1 a
6 party_fav_Cambiemos_2 b
7 party_fav_Cambiemos_3 c
8 party_fav_Cambiemos_4 d
9 party_fav_Cambiemos_8 e
10 party_fav_Cambiemos_9 f
5 partyfav_argentina_Peronismo_1 a
6 partyfav_argentina_Peronismo_2 b
7 partyfav_argentina_Peronismo_3 c
8 partyfav_argentina_Peronismo_4 d
9 partyfav_argentina_Peronismo_8 e
10 partyfav_argentina_Peronismo_9 f
Спасибо!Пожалуйста, посмотрите на ссылку выше, чтобы мы не потеряли структуру, где, если есть 1 ссылочный код и 4 значения после этого, мы не нарушаем их.