您现在的位置是:网站首页> 编程资料编程资料
python笔记之使用fillna()填充缺失值_python_
2023-05-26
356人已围观
简介 python笔记之使用fillna()填充缺失值_python_
使用fillna()填充缺失值
df = pd.read_csv('ccf_offline_stage1_train.csv') print(df['Distance']) df['distance'] = df['Distance'].fillna(-1).astype(int) print(df['distance'])结果太长不展示了,经过操作后成功将dataframe中distance列的缺失值都变成了-1
关于fillna()函数详解
inplace参数的取值:True、False
True:直接修改原对象False:创建一个副本,修改副本,原对象不变(缺省默认)
method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad/ffill:用前一个非缺失值去填充该缺失值backfill/bfill:用下一个非缺失值填充该缺失值None:指定一个值去替换缺失值(缺省默认这种方式)
limit参数:限制填充个数
axis参数:修改填充方向
#导包 import pandas as pd import numpy as np from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]]) df1
代码结果:

一、不指定任何参数
1. 用常数填充
#一、不指定method参数 #1.用常数填充 print (df1.fillna(100)) print ("-----------------------") print (df1)运行结果:

2. 用字典填充
#2.用字典填充 df1.fillna({0:10,1:20,2:30})运行结果:

二、指定inplace参数
#二、指定inplace参数 print (df1.fillna(0,inplace=True)) print ("-------------------------") print (df1)运行结果:

三、指定method参数
1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值
#三、指定method参数 df2 = pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3] = NaN df2.iloc[2:4,4] = NaN df2
运行结果:

#1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值 df2.fillna(method='ffill')
运行结果:

2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值
#2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值 df2.fillna(method='bfill')
运行结果:

四、指定limit参数
#四、指定limit参数 #用下一个非缺失值填充该缺失值 #只填充2个 df2.fillna(method='bfill', limit=2)
运行结果:

五、指定axis参数
#五、指定axis参数 df2.fillna(method="ffill", limit=1, axis=1)
运行结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- Python数据分析基础之异常值检测和处理方式_python_
- pandas删除部分数据后重新生成索引的实现_python_
- Pandas中DataFrame的基本操作之重新索引讲解_python_
- Pandas 计算相关性系数corr()方式_python_
- pandas时间序列之如何将int转换成datetime格式_python_
- pandas库中to_datetime()方法的使用解析_python_
- pandas中的Timestamp只保留日期不显示时间_python_
- pandas实现datetime64与unix时间戳互转_python_
- Pandas如何将Timestamp转为datetime类型_python_
- python辗转相除法求最大公约数和最小公倍数的实现_python_
