• python学习 基于数据的简单处理


    import pandas as pd
    df = pd.read_excel('E://data//朝阳医院2018年销售数据.xlsx')
    df.head()    #打印前五行
    df.shape     #有多少行,多少列
    df.dtypes    #查看每列的数据类型
    colNameDict = {'购药时间':'销售时间'}
    #列名重命名
    df.rename(columns = colNameDict,inplace=True)  #将购药时间改为销售时间 inplace=true表示不创建新的对象直接对原有的数据进行更改,false表示创建新的数据对象
    df.head()
    
    
    #缺失值的处理
    print('删除缺失值前的大小',df.shape)
    df=df.dropna(subset=['销售时间','社保卡号'],how='any')   #删除列(销售时间,社保卡号)中为空的行,其中how='any'意思为给定列中任何一个有空值就删除行
    print('删除缺失值后的大小',df.shape)
    
    #数据类型的转换
    df['销售数量']=df['销售数量'].astype('float')
    df['应收金额']=df['应收金额'].astype('float')
    df['社保卡号']=df['社保卡号'].astype('ocject')
    ##修改日期
    def splitsaletime(timeColser):
        timelist=[]
        for value in timeColser:          #例如2018-01-01 星期五 ,分割后为:2018-01-01
            dateStr = value.split(' ')[0]
            timelist.append(dateStr)
    
        timeSer= pd.Series(timelist)    #将列表转行为一维数据series类型
        return timeSer
    
    ##输入:timecolser--销售时间这一列,是个series数据类型
    ##输出:分割后的时间,返回也是这个数据类型
    
    timeSer= df.loc[:,'销售时间']  #获取销售时间这一列
    dateSer = splitsaletime(timeSer)  #对字符串进行分割,获取销售日期
    
    df.loc[:,'销售时间']=dateSer   #修改销售时间这一列的值
    df.head()
    
    #字符串转换日期
    
    df.loc[:,'销售时间']= pd.to_datetime(df.loc[:,'销售时间'],format='%Y-%m-%d',errors='coerce')
    df.dtypes
    
    
    df=df.dropna(subset=['销售时间','社保卡号'],how='any')
    
    
    ##数据排序
    #### 使用pd.sort.values方法进行排序,by表示按照那一列进行排序,ascending=true时表示升序排列,false表示降序排列
    print('排序前的数据')
    df.head()
    df=df.sort_values(by='销售时间',ascending=True)
    print('排序后的数据')
    df.head()
    
    ##排序后的行号乱了,,需要进行重新的排序
    df= df.reset_index(drop=True)
    df.head()
    
    
    ##异常值的处理,,首先我用describe()方法查看数据框中所有数据每列的描述统计信息、
    df.dedscribe()   #从结果可以看出销售数量有负值出现,,可能是记录错误,删除
    
    #删除通过条件判断删除
    
    queryser=df.loc[:,'销售数量']>0   #设置查询条件
    print('删除异常值之前',df.shape)
    df= df.loc[queryser,:]        #条件的应用
    print('删除异常值之后',df.shape)
    

      

  • 相关阅读:
    写个perl程序自动下载《南方周末》(2005年12月最后一期,38版,值得一看)
    Android 关于inflate
    Android读取系统相册图片并获得绝对地址
    Android设置一个SubMenu来更改背景颜色
    ExpandableListView(可展开的列表组件)使用方法
    Android自定义Tabs文字,背景
    Android上开发新浪微博OAuth2.0认证
    Android线程显示进度框
    Android http get/post传递参数
    总结:Upate field which lookups from Content Types
  • 原文地址:https://www.cnblogs.com/manjianlei/p/11299964.html
Copyright © 2020-2023  润新知