У меня есть pandas фрейм данных с двумя столбцами: locationid, geo_lo c. В столбце locationid отсутствуют значения.
Я хочу получить значение geo_lo c отсутствующей строки locationid, затем выполнить поиск по этому значению geo_lo c в столбце geo_lo c и получить идентификатор локатора.
df1 = pd.DataFrame({'locationid':[111, np.nan, 145, np.nan, 189,np.nan, 158, 145],
'geo_loc':['G12','K11','B16','G12','B22','B16', 'K11',he l 'B16']})
df
Мне нужен конечный результат, подобный этому:
индекс 1 locationid отсутствует, и соответствующее значение geo_lo c равно 'K11'. Я бы посмотрел этот 'K11' в столбце geo_lo c, а индекс 6 имеет locationid 158. Этим значением я хочу заполнить пропущенное значение в индексе 1.
Я пробовал эти коды, и они не работали.
df1['locationid'] = df1.locationid.fillna(df1.groupby('geo_loc')['locationid'].max())
df1['locationid'] = df1.locationid.fillna(df1.groupby('geo_loc').apply(lambda x: print(list(x.locationid)[0])))