下面是Pandas之Fillna填充缺失数据的方法的完整攻略。
概述
在数据分析和处理中,经常会遇到缺失数据的情况。Pandas提供了很多方法来处理缺失数据,其中之一就是Fillna填充缺失数据的方法。
Fillna方法可以用指定值、前向或后向填充的方法来填充缺失数据,可以适用于Series和DataFrame对象,相对来说比较灵活。
Fillna方法的常用参数
Fillna方法的常用参数如下:
- value:指定用来填充缺失值的值,可以是标量、Series或DataFrame格式的数据;
- method:指定使用插值填充缺失值的方法,“ffill”表示用前面的值进行插值,“bfill”表示用后面的值进行插值;
- axis:指定填充缺失数据的轴,0表示按列填充,1表示按行填充;
- inplace:指定是否对原始数据进行修改,True表示修改原始数据,False表示不修改原始数据。
Fillna方法的示例说明
示例1:用指定值来填充缺失数据
首先先导入Pandas库,然后创建一个包含缺失值的DataFrame对象。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'], columns=['one', 'two', 'three'])
df['four'] = 'bar'
df['five'] = df['one'] > 0
df2 = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'])
print(df2)
# 输出结果:
one two three four five
a -0.677737 -1.387927 0.507026 bar False
b NaN NaN NaN NaN NaN
c 1.298747 -0.628594 -1.880701 bar True
d NaN NaN NaN NaN NaN
e -0.172754 0.478184 0.761761 bar False
f -0.879542 2.026631 -0.663835 bar False
g NaN NaN NaN NaN NaN
h 0.045663 1.051637 0.317371 bar True
我们可以看到,DataFrame对象df2中包含了一些缺失数据。现在我们使用Fillna方法来填充缺失数据,具体操作如下:
df3=df2.fillna(value=1)
print(df3)
# 输出结果:
one two three four five
a -0.677737 -1.387927 0.507026 bar False
b 1.000000 1.000000 1.000000 1 1
c 1.298747 -0.628594 -1.880701 bar True
d 1.000000 1.000000 1.000000 1 1
e -0.172754 0.478184 0.761761 bar False
f -0.879542 2.026631 -0.663835 bar False
g 1.000000 1.000000 1.000000 1 1
h 0.045663 1.051637 0.317371 bar True
我们可以看到,Fillna方法成功的将原本缺失的数据都填充上了指定的值1。
示例2:用前向或后向填充的方式填充缺失数据
创建包含缺失数据的DataFrame对象,然后通过backfill和bfill方法和,将缺失数据用后面的数据进行插值填充。
df4=df2.ffill()
print(df4)
# 输出结果:
one two three four five
a -0.677737 -1.387927 0.507026 bar False
b -0.677737 -1.387927 0.507026 bar False
c 1.298747 -0.628594 -1.880701 bar True
d 1.298747 -0.628594 -1.880701 bar True
e -0.172754 0.478184 0.761761 bar False
f -0.879542 2.026631 -0.663835 bar False
g -0.879542 2.026631 -0.663835 bar False
h 0.045663 1.051637 0.317371 bar True
我们可以看到,Fillna方法成功的将原本缺失的数据都用插值的方式填充上了。
以上就是Pandas之Fillna填充缺失数据的方法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas之Fillna填充缺失数据的方法 - Python技术站