对于两端缺失数据使用前后填充,对于中间数据使用线性插值(可替换)

import numpy as np
import pandas as pd
from scipy.interpolate import interp1d
df = pd.read_excel('data.xlsx')
df['城市'].fillna(method = 'ffill',inplace = True)
df.drop('city',1,inplace=True)
df[df['城市'] == '晋中市']
城市 year pm2.5(达尔豪斯) lnpm2.5(达尔豪斯) 第二产业增加值占GDP比重(%) 人均地区生产总值(元) 地区生产总值(万元) 年末人口总数(万人) 行政区域土地面积(全市) 能源效率 地方财政一般预算内支出 科学支出 年末实有城市道路面积(万平方米) 行政区域土地面积(市辖区)
210 晋中市 2004 30.117360 3.405102 50.40 8300.0 2539148.0 306.12 16404.0 8.337756 305000 350 370 1327.0
211 晋中市 2005 38.581012 3.652760 40.46 10772.0 3310171.0 306.63 16404.0 8.876620 394496 532 388 1311.0
212 晋中市 2006 45.324575 3.813849 42.31 12491.0 3856794.0 310.00 16404.0 9.215031 664054 497 421 1311.0
213 晋中市 2007 36.578386 3.599458 41.94 15157.0 4701976.0 313.88 16404.0 7.989844 721064 5866 521 1311.0
214 晋中市 2008 34.374482 3.537314 38.71 18219.0 5678066.0 317.90 16404.0 6.547999 856795 7569 585 1311.0
215 晋中市 2009 38.059734 3.639157 33.44 20335.0 6368106.0 320.00 16404.0 7.236680 1030873 8495 592 1311.0
216 晋中市 2010 49.963807 3.911299 36.46 24275.0 7638366.0 320.96 16392.0 7.221849 1205394 10119 616 1318.0
217 晋中市 2011 77.109822 4.345231 40.19 27300.0 8902376.0 323.30 16392.0 8.464127 1541989 11939 616 1318.0
218 晋中市 2012 57.939010 4.059391 40.64 30093.0 9865596.0 325.00 16392.0 7.195288 1787371 14058 769 1318.0
219 晋中市 2013 54.531928 3.998786 39.69 30977.0 10222281.0 330.50 16392.0 6.761532 2136333 17287 1010 1318.0
220 晋中市 2014 45.484201 3.817365 39.69 31434.0 10413000.0 330.50 16392.0 6.761532 2168543 19176 850 1318.0
221 晋中市 2015 42.342921 3.745801 31.39 31434.0 10461155.0 329.66 16392.0 NaN 2411647 19036 965 1318.0
222 晋中市 2016 35.998973 3.583490 30.09 32646.0 10911041.0 332.00 16444.0 NaN 2471699 15134 1095 1311.0
223 晋中市 2017 35.170259 3.560201 31.95 38274.0 12849233.0 332.00 16392.0 7.340062 2789231 24569 0 1318.0
224 晋中市 2018 34.452057 3.539569 32.14 42910.0 14476039.0 334.00 16444.0 7.550800 3226368 22871 1451 1311.0
df.isna().sum()
城市                    0
year                  0
pm2.5(达尔豪斯)           0
lnpm2.5(达尔豪斯)        15
第二产业增加值占GDP比重(%)     12
人均地区生产总值(元)          59
地区生产总值(万元)           34
年末人口总数(万人)            0
行政区域土地面积(全市)          0
能源效率                106
地方财政一般预算内支出           0
科学支出                  0
年末实有城市道路面积(万平方米)      0
行政区域土地面积(市辖区)         0
dtype: int64

def chazhi_(data,col,method = 'linear',thresdhold = 0.9):'''创建缺失值补全函数,针对每一个分组data:传入的每一个分组method:使用插值的方法,thresdhold:插值的门槛,即缺失值占总数据的比重,如果超过门槛者不进行补充'''chazhi_index = data[col][data[col].isna()].indexif len(chazhi_index)/data.shape[0] >= 0.9:return dataelse:y = data[col][~(data[col].isna())].valuesx = data[col][~(data[col].isna())].indexf = interp1d(x, y, kind = method)chazhi_index_2 = [c for c in chazhi_index if c<x.max() and c>x.min()]data.loc[chazhi_index_2,col] = f(chazhi_index_2)fill = data[col].fillna(method = 'ffill')bill = data[col].fillna(method = 'bfill')w = pd.DataFrame((fill,bill)).mean()data.iloc[:,0] = wreturn data
def chazhi(data,group_id):'''针对整个dataframe,data:dataframe文件group_id:样本的id'''na_col = data.columns[data.isna().sum() != 0]for col in na_col[1:]:test = data[[col,group_id]]data[col] = test.groupby(group_id).apply(chazhi_,col= col,method = 'linear')[col]return data[data.isna().sum(1)==0]
w = chazhi(df,'城市')
w.isna().sum()
城市                  0
year                0
pm2.5(达尔豪斯)         0
lnpm2.5(达尔豪斯)       0
第二产业增加值占GDP比重(%)    0
人均地区生产总值(元)         0
地区生产总值(万元)          0
年末人口总数(万人)          0
行政区域土地面积(全市)        0
能源效率                0
地方财政一般预算内支出         0
科学支出                0
年末实有城市道路面积(万平方米)    0
行政区域土地面积(市辖区)       0
dtype: int64
w[w['城市']== '晋中市']
城市 year pm2.5(达尔豪斯) lnpm2.5(达尔豪斯) 第二产业增加值占GDP比重(%) 人均地区生产总值(元) 地区生产总值(万元) 年末人口总数(万人) 行政区域土地面积(全市) 能源效率 地方财政一般预算内支出 科学支出 年末实有城市道路面积(万平方米) 行政区域土地面积(市辖区)
210 晋中市 2004 30.117360 3.405102 50.40 8300.0 2539148.0 306.12 16404.0 8.337756 305000 350 370 1327.0
211 晋中市 2005 38.581012 3.652760 40.46 10772.0 3310171.0 306.63 16404.0 8.876620 394496 532 388 1311.0
212 晋中市 2006 45.324575 3.813849 42.31 12491.0 3856794.0 310.00 16404.0 9.215031 664054 497 421 1311.0
213 晋中市 2007 36.578386 3.599458 41.94 15157.0 4701976.0 313.88 16404.0 7.989844 721064 5866 521 1311.0
214 晋中市 2008 34.374482 3.537314 38.71 18219.0 5678066.0 317.90 16404.0 6.547999 856795 7569 585 1311.0
215 晋中市 2009 38.059734 3.639157 33.44 20335.0 6368106.0 320.00 16404.0 7.236680 1030873 8495 592 1311.0
216 晋中市 2010 49.963807 3.911299 36.46 24275.0 7638366.0 320.96 16392.0 7.221849 1205394 10119 616 1318.0
217 晋中市 2011 77.109822 4.345231 40.19 27300.0 8902376.0 323.30 16392.0 8.464127 1541989 11939 616 1318.0
218 晋中市 2012 57.939010 4.059391 40.64 30093.0 9865596.0 325.00 16392.0 7.195288 1787371 14058 769 1318.0
219 晋中市 2013 54.531928 3.998786 39.69 30977.0 10222281.0 330.50 16392.0 6.761532 2136333 17287 1010 1318.0
220 晋中市 2014 45.484201 3.817365 39.69 31434.0 10413000.0 330.50 16392.0 6.761532 2168543 19176 850 1318.0
221 晋中市 2015 42.342921 3.745801 31.39 31434.0 10461155.0 329.66 16392.0 6.954375 2411647 19036 965 1318.0
222 晋中市 2016 35.998973 3.583490 30.09 32646.0 10911041.0 332.00 16444.0 7.147218 2471699 15134 1095 1311.0
223 晋中市 2017 35.170259 3.560201 31.95 38274.0 12849233.0 332.00 16392.0 7.340062 2789231 24569 0 1318.0
224 晋中市 2018 34.452057 3.539569 32.14 42910.0 14476039.0 334.00 16444.0 7.550800 3226368 22871 1451 1311.0

【缺失值填补】面板数据的缺失值补全方法相关推荐

  1. 《中国人工智能学会通讯》——12.33 众包知识库补全方法概览

    12.33 众包知识库补全方法概览 本章介绍众包知识库补全的方法概览,如图 1所示.其基本思想包含两个部分,其一,利用多种数据源,如现有的多个知识库.Web 结构化数据等,提取知识数据,并将不同数据源 ...

  2. html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能

    Beautiful Soup是一个非常流行的Python模块.该模块可以解析网页,并提供定位内容的便捷接口. 使用下面两个命令安装: pip install beautifulsoup4或者 sudo ...

  3. CVPR 2021 | ShapeInversion: 基于GAN逆映射的无监督点云补全方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摘要 · 看点 在CVPR 2021上,商汤科技-南洋理工大学联合 AI 研究中心 S-Lab 提出了 ...

  4. 直播 | WWW 2021:基于结构增强文本表示学习的知识图谱补全方法

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  5. python tab键自动补全_设置python中TAB键自动补全方法

    设置python中TAB键自动补全方法 一.创建自动补全脚本如下: vi /tmp/python/tab.py #!/usr/bin/python # python tab file import s ...

  6. JS字符串补全方法padStart()和padEnd()简介

    一.关于字符串补全 在JS中,字符串补全是常用操作,用的比较多的就是时间或者日期前面的补0. 例如,日期,我们多采用4-2-2的表示形式,例如: 2018-07-23 当我们使用时间戳进行月份获取的时 ...

  7. java padend_JS字符串补全方法padStart()和padEnd()

    这个方法无意中看到的,感觉还是蛮实用的,特此分享一波.我想大家都会有遇到将时间戳转换成时间格式的时候,时间或日期不足2位的前面补0.有了今天说的这个东西,就又可以少写几行代码了,大家在项目中遇到类似场 ...

  8. 数据缺失值补全方法 sklearn.impute.SimpleImputer 使用实例

    一.环境 Python 3.7.3(Anaconda 3) sklearn.version'0.20.3' 二.方法 对数据中的缺失值进行插补 官方说明:https://scikit-learn.or ...

  9. python怎么处理数据集的缺失值_python 对数据集的缺失值补全方法 sklearn.preprocessing.Imputer...

    1.官方说明 sklearn.preprocessing.Imputer 用于对数据中的缺失值进行补全,支持"均值(mean)"."中值(median)".&q ...

最新文章

  1. SE16N新改表内容方法!!!
  2. 防火墙简介(一)——iptables防火墙
  3. win7可以安装sqlserver2008 企业版吗_MYSQLServer2008R2详细的图文安装教程
  4. 来自一位家长的肺腑之言,句句在理!!!
  5. angular判断两个对象值是否相等,包含对象深层判断,深拷贝的两个对象
  6. 2018网易未来科技峰会召开,科技新浪潮改变商业
  7. redis scala编程之创建连接
  8. cookie、session、localStorage、sessionStorage区别
  9. SimpleDateFormat中参数对照表
  10. Android TV开发总结【适配】
  11. mysql数据库引擎事务_代码配置都没问题,为什么事务不回滚(了解Mysql数据库引擎)...
  12. 数据资产管理及数据管控体系建设思路
  13. Sap Hana触发器
  14. 小程序设置page背景图片透明度
  15. win7html.exe,win7系统exe程序打开方式还原怎么弄 win7系统还原exe程序打开方式办法介绍...
  16. android 日历翻页动画,datetimepicker一个不错的日历android特效
  17. 路径规划学习之地图生成(一)
  18. 使用SubstanceDesign和Unity插件ShaderForge制作风格化火焰
  19. python 中关键字 global 的用法
  20. python 多列排序_python sorted多列排序

热门文章

  1. 数据清洗 -- 4 基于英文的自然语言处理
  2. CaptureOne及天工航片匀色
  3. K临近算法检测异常操作(一)
  4. 车辆派遣管理系统-06-车辆信息管理
  5. Photoshop 绘图
  6. 操作系统实习-进程调度算法(C语言)
  7. python--读取TRMM-3B43月平均降水绘制气候态空间分布图(陆地区域做掩膜)
  8. Edge 浏览器的隐藏 URL QR 生成器
  9. matlab实验二数值运算报告,MATLAB数值运算实验报告.docx
  10. 冲压模具材料的选用及热处理要求