#python #pandas
#python #pandas
Вопрос:
У меня есть фрейм данных
Col1 Col2
A ...
C ...
B ...
X ...
NaN ...
D ...
Я хочу обновить значения в Col1
to ord(Col1) - ord('A') 1
, игнорируя NaN
. Как его обновить?
Ответ №1:
Попробуйте:
df['Col1'] = df['Col1'].dropna().map(ord) - 66
Вывод:
Col1 Col2
0 -1.0 ...
1 1.0 ...
2 0.0 ...
3 22.0 ...
4 NaN ...
5 2.0 ...
Обратите внимание, что в pandas большинство операций выполняется с внутренним выравниванием данных. Это означает, что pandas в основном всегда будут пытаться сопоставить индексы, поэтому удаление значений NaN здесь приведет к получению значений NaN, где индекс отсутствует с левой стороны.