如何实现两个EXCEL表格相互查找并填充相应的内容--英雄云拓展知识分享
140
2023-10-25
【摘要】 本书摘自《Python数据分析案例教程》一书中第6章,第1节,由万念斌、肖伟东、叶丰标编著。
6.1.3 填充缺失值
数据处理过程中发现缺失值后,缺失值在数据处理中有作用,不能采用删除缺失值的方 法,这时可以用一些特殊值来填充缺失值。 Pandas使用 fillna()函数来填充缺失值。 fillna()函 数的作用是填充缺失数据,函数原型为:
DataFrame.fillna(value = None,method= None,axis =None,inplace =False,limit= None, …)
常见参数作用如下:
(1)value:值可以是 scalar、dict、Series或 DataFrame,用于填充缺失值的值。
(2)method: 值可以是{'backfill','bfill','pad','ffill',None},默认值为 None。
(3)axis:值可以是{0 or'index',1 or'columns'},当 axis的值为0或“index”时表示填 充包含缺失值的行;当 axis 的值为1或"columns"表示填充包含缺失值的列,默认值为0。
(4)inplace:布尔型,默认值为False,如果为 True,则在原地执行操作。(5)limit:int,默认值为 None, 如果指定了方法,则是连续 NaN 值的前向/后向填充的 最大数量,即如果连续 NaN 数量超过指定的数字,它将只被部分填充。如果未指定方法,则 是沿着整个轴的最大数量,其中NaN 将被填充。指定的数字必须大于0。
【案例6-3】填充缺失值。代码如下:
#encoding:utf-8
import pandas as pd
def main():
# 1.指定特殊值填充缺失值
df=pd.DataFrame([[1,2,2],[3,None,6],[3,7,None],[5,None,7]])
print(数据帧 df'.center(30,'—'),'\n',df)
#用0填充所有缺失数据
printC用0填充所有缺失数据.center(20,'—'),'\n',df.fillna(0))
# 2.使用不同的值填充不同的列
print(使用不同的值填充不同的列数据.center(20,'-'),\n',df.fillna({1:1.99,2:2.99})) # 3.前向填充和后向填充
#前向填充,默认是上一行的值,设置axis=1 可以使用列进行填充
print('前向填充'.center(20,'—'),\n',df.fillna(method="ffill"))
#后向填充,默认是上一行的值,设置 axis=1 可以使用列进行填充
print(后向填充.center(20,'—'),'\n',df.fillna(method="bfill"))
# 4.使用列的平均值填充
print('使用列的平均值填充',center(20,'-'),\n',df.fillna(df.mean()))
if name ==" main ":
__ __ __ __
main()
程序运行结果如下:
D:\anaconda\python.exe C:/Users/dell/PycharmProjects/My01/教学设计4--Pandas 缺失值 处理/填充缺失值.py
----数据帧 df-
1
3
3
5
1
2.0
NaN
7.0
NaN
2
2.0
6.0
NaN
7.0
----用0 填充所有缺失数据------
1
3
3
5
1
2.0
0.0
7.0
0.0
2
2.0
6.0
0.0
7.0
---使用不同的值填充不同的列数据---
0 1 2
0 1 2.00 2.00
1 3 1.99 6.00
2 3 7.00 2.99
3 5 1.99 7.00
--前向填充--------
0 1 2
0 1 2.0 2.0
1 3 2.0 6.0
2 3 7.0 6.0
3 5 7.0 7.0
--------后向填充--------
0 1 2
0 1 2.0 2.0
1 3 7.0 6.0
2 3 7.0 7.0
3 5 NaN 7.0
-----使用列的平均值填充-----
1
3
3
5
1
2.0
4.5
7.0
4.5
2
2.0
6.0
5.0
7.0
Proccss finished with cxit code 0
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~