利用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"))