首页 > 其他分享 >使用Pandas补全缺失值

使用Pandas补全缺失值

时间:2023-02-18 17:55:50浏览次数:39  
标签:0.116464 补全 df 0.158570 NaN Pandas 0.003995 0.829082 缺失

  在大多数情况下,使用fillna来补全缺失值,调用fillna时可以使用一个常数作为参数来替代缺失值:

df = pd.DataFrame(np.random.rand(7, 3))
df.iloc[2:5, 1] = None
df.iloc[1:3, 2] = None
df
	0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	NaN
2	0.589933	NaN	        NaN
3	0.604145	NaN	        0.116464
4	0.845152	NaN	        0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766
df.fillna(0)
	0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	0.000000
2	0.589933	0.000000	0.000000
3	0.604145	0.000000	0.116464
4	0.845152	0.000000	0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766

  使用method参数可以使用缺失值的前一个值或后一个值填充,默认为ffill

	0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	NaN
2	0.589933	NaN	        NaN
3	0.604145	NaN	        0.116464
4	0.845152	NaN	        0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766
  • 参数bfill使用缺失值的后一个值填充(理解为backfill):
df.fillna(method='bfill')
	0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	0.116464
2	0.589933	0.829082	0.116464
3	0.604145	0.829082	0.116464
4	0.845152	0.829082	0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766
  • 参数ffill使用缺失值的前一个值填充(理解为frontfill):
df.fillna(method='ffill')
	0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	0.003995
2	0.589933	0.158570	0.003995
3	0.604145	0.158570	0.116464
4	0.845152	0.158570	0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766

  使用limit参数可以指定最大填充范围。

df.fillna(method='ffill', limit=1)
        0	        1	        2
0	0.967993	0.050330	0.003995
1	0.582064	0.158570	0.003995
2	0.589933	0.158570	NaN
3	0.604145	NaN	        0.116464
4	0.845152	NaN	        0.410299
5	0.048739	0.829082	0.378123
6	0.455217	0.978345	0.204766

标签:0.116464,补全,df,0.158570,NaN,Pandas,0.003995,0.829082,缺失
From: https://www.cnblogs.com/ToryRegulus/p/17133198.html

相关文章

  • Pandas中的dropna方法
      在默认情况下,只要该行含有缺失值,dropna便会删除所有包含了缺失值的行,如下所示:data=pd.DataFrame([[1.,6.5,3.],[1.,NA,NA],[NA,NA,NA],[NA,6.5,3.]])cl......
  • pandas时序插值遇到的各种问题
    折腾了一下午,说说利用pandas进行时序插值时踩过的坑。。。1.确保列表数据是整形或浮点型,不然无法获取到插值,仍然是NaN。2.如果想采用多项式插值或样条插值方法进行插值......
  • Pandas中的排名方法
      排名是指对于数组从1到有效据点总数分配名次的操作。Series和DataFrame的rank方法是实现排名的方法,以下为rank方法的详解。方法概述  首先用Series模拟一份数据如......
  • python-pandas提取网页内tables(表格类型)数据
    比如,下面网页里大学排行的数据 分析这个页面,表格内的数据是包裹在tables里的  这样就可以使用pandas对数据进行提取并且导出成csv文件,具体代码很简单 import......
  • 解决在Windows上Android Studio写C/C++代码无法补全,没有代码提示的问题
    之前一直在Linux上开发应用,最近因为工作需要,系统切回了Windows,因为之前在Linux上的AndroidStudio中写C/C++代码很正常,该有的代码提示功能都有。但是在迁移到Windows上后......
  • pandas求列的平均分
      #求平均值df['avg']=df[['ASRREA01','ASRREA02','ASRREA03','ASRREA04','ASRREA05','ASRLIT01','ASRLIT02','ASRLIT03','ASRLIT04','ASRLIT05�......
  • 剑指 Offer 53 - II. 0~n-1中缺失的数字
    题目:思路:【1】最简单的直接遍历的方式:这个思路是基于,首先一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内,这就说明了这是一串连续的数......
  • 把数据到处成csv和读入的记录--pandas
    dfavg=df[['IDSTUD','IDSCHOOL','avg']]dfavg.head()#把学号和成绩搞出来,然后输出保存成csvoutputpath='dfavg.csv'dfavg.to_csv(outputpath,sep=',',index=False,hea......
  • pandas数据处理把BOOKLET11变成11
      defbook_map(x):book_map=x[-2:]returnbook_mapdf['IDBOOK']=df['IDBOOK'].map(book_map)df.head()#啊啊啊好开心,完美我真棒,自己写出来了通过函数......
  • pandas里使用map函数并且是自定义函数来实现规则的方式def
      现在我的问题是,有一堆数据,用一些字符串开头,然后换成数字  原本我用的死办法,直接先做字典,然后用字典的内容作为map的映射规则但是由于这些字符太多了,做字典很......