У меня есть ДФ так:Манипулирование значения на основе современных критериев
ID Time Index
1 TS NDVI
2 TS NDVI
1 ES NDVI
1 LS NDII
2 TS NDII
2 ES NDII
У меня также есть словарь, как так:
replacement_map = {1 : 4, 2 : 5}
, и я хочу, чтобы заменить ID
в моей ЦФ, используя замена карта только в том случае, если Time == TS
и Index == NDVI
Я пробую этот код:
df = df.ix[df['Index'] == 'NDVI' & df['Time'] == 'TS', 'ID'].map(replacement_map)
но это возвращает:
TypeError: cannot compare a dtyped [object] array with a scalar of type [bool]
Мой желаемый результат:
ID Time Index
4 TS NDVI
5 TS NDVI
1 ES NDVI
1 LS NDII
2 TS NDII
2 ES NDII
Кронштейны - 'df.ix [(DF [ 'Index'] == '' НРВИ) & (df ['Time'] == 'TS'), 'ID']. map (replacement_map) '? – Zero
Да, это сделало это –