У меня есть поле [X]
в df, в котором отсутствуют значения, и я создал новое поле [Y]
на основе поля [X]
, используя функцию подстроки.
df["Y"] = df["X"].astype(str).str[:4]
Поле df[X]
имеет пропущенные значения, обозначенные как "NaN"
, а поле df[Y]
имеет пропущенные значения, обозначенные как "nan"
Можно ли преобразовать значения "nan"
в поле df[Y]
в "NaN"
так же, как в поле df[X]
?
Используйте Series.mask с Series.isna:
df = pd.DataFrame({'X':['abndf', np.nan, 'ss', 'somestring']})
df["Y"] = df["X"].astype(str).str[:4].mask(df['X'].isna())
print (df)
X Y
0 abndf abnd
1 NaN NaN
2 ss ss
3 somestring some