利用fillna方法填充缺失数据可以看做值替换的一种特殊情况。虽然前面提到的map可用于修改对象的数据子集,
而replace则提供了一种实现该方法的更简单、更灵活的方式。看例子:
Series
sr = Series([1., -999, 2., -999, -1000., 3.])print(sr)
需求:要求把-999的值替换成一个缺失值。
sr = Series([1., -999, 2., -999, -1000., 3.])print(sr)sr1 = sr.replace(-999, np.nan)print(sr1)sr2 = sr.replace([-999, -1000], np.nan)print(sr2)sr3 = sr.replace([-999, -1000], [np.nan, 0])print(sr3)sr4 = sr.replace({-999: np.nan, -1000: 0})print(sr4)
DataFrame
df = DataFrame(np.arange(12).reshape(3, 4))print(df.replace(2, "a"))