pandas的中的 interpolate()方法以及replace()方法的使用

(1)df.interpolate()
DataFrame.interpolate(method=‘linear’, axis=0, limit=None, inplace=False, limit_direction=‘forward’, limit_area=None, downcast=None, **kwargs)
参考文档
插值方式
nearest:最邻近插值法
zero:阶梯插值
slinear、linear:线性插值
quadratic、cubic:2、3阶B样条曲线插值(详情请参考官方文档)
栗子:

df = pd.DataFrame([(0.0,  np.nan, -1.0, 1.0),
                    (np.nan, 2.0, np.nan, np.nan),
                   (2.0, 3.0, np.nan, 9.0),
                    (np.nan, 4.0, -4.0, 16.0)],
                   columns=list('abcd'))
print(df)
df.interpolate(method='linear', limit_direction='forward', axis=0)

结果:

     a    b    c     d
0  0.0  NaN -1.0   1.0
1  NaN  2.0  NaN   NaN
2  2.0  3.0  NaN   9.0
3  NaN  4.0 -4.0  16.0
Out[14]:
a	b	c	d
0	0.0	NaN	-1.0	1.0
1	1.0	2.0	-2.0	5.0
2	2.0	3.0	-3.0	9.0
3	2.0	4.0	-4.0	16.0

在series中的用法也是一样的,个参数的含义可以参照文档。
(2)df.replace()
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method=‘pad’)
参考文档
栗子:

df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
                 'B': [0, 6, 7, 8, 9],
                   'C': ['a', 'b', 'c', 'd', 'e']})
df.replace(0,5)
#df.replace([1,2,3,5],4)#可以是列表与数的组合
#df.replace({0: 10, 1: 100})#也可以用字典的形式来进行替换
#df.replace({'A': 0, 'B': 9}, 100)#可以是字典和数值等 的组合

结果:

A	B	C
0	5	5	a
1	1	6	b
2	2	7	c
3	3	8	d
4	4	9	e

series的replace()方法也是雷士的可以参见文档。

猜你喜欢

转载自blog.csdn.net/weixin_43213268/article/details/89052353