zoukankan      html  css  js  c++  java
  • pandas空值处理isnull、notnull、dropna

    #-*- coding: utf-8 -*-
    #拉格朗日插值
    import pandas as pd
    from scipy.interpolate import lagrange
    
    inputfile = '../data/missing_data.xls' #输入数据路径,需要使用Excel格式;
    outputfile = '../tmp/missing_data_processed.xls' #输出数据路径,需要使用Excel格式
    
    data = pd.read_excel(inputfile) #读入数据
    
    #自定义列向量插值函数
    #s为列向量,n为被插值的位置,k为取值前后的数据个数,暂定为5
    def ployinterp_column(s,n,k=5):
    
        y = s.reindex(list(range(n-k,n))+list(range(n+1,n+1+k))) #取数
    
        y = y[y.notnull()] #剔除空值
       #y = y.dropna()
    # print(y);exit(); return lagrange(y.index,list(y))(n) #插值并返回插值结果 #逐个元素判断是否需要插值 for i in data.columns: for j in range(len(data)): # print(data) # exit() if(data[i].isnull())[j]: #如果为空就插值 data[i].isnull()返回true/false结果矩阵 # print(data[i].isnull());exit(); # data[i][j] = ployinterp_column(data[i],j) data.to_excel(outputfile,header=None,index=False)

     处理Series(还是觉得叫一维数组顺),dropna(),返回非空数据和索引值的series

    处理DataFrame(二维数组),dropna()函数同样会丢掉所有含有空元素的数据(行内有一个空值,整行去除),默认how='any',可以指定how='all',行里数据全为空才会删除。如果相以同样的方式删除列上的数据,传入axis=1

    isnull()和notnull(),都是返回true/false结果矩阵

  • 相关阅读:
    jQuery
    数据库的并发操作
    Python之禅
    pymysql模块初见
    数据库之表查询
    实体与实体之间的联系
    数据库初识
    进程池 协程 与I/O模型
    GIL全局解释锁.死锁与递归锁
    进程通信与线程初识
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/9179221.html
Copyright © 2011-2022 走看看