Попробуйте:
import pandas as pd
df = pd.DataFrame({'a': ['a', 'b', 'c', None]}, dtype='string')
df.replace('c', 'e', inplace=True)
print(df)
вы получите:
a
0 a
1 b
2 e
3 <NA>
или если вы хотите сохранить dict
в качестве значения to_replace, вам сначала потребуется:
list = ['a', 'b', 'c', np.nan]
s = pd.Series(list)
df = pd.DataFrame({'a': s})
df.replace({'c': 'e'}, inplace=True)
print(df)
с выводом:
a
0 a
1 b
2 e
3 NaN
не может реально объяснить, почему это работает, хотя прочитал документацию .