• Pandas中数据的处理


     

    有两种丢失数据

    ——None

    ——np.nan(NaN)

    Nonepython自带的,其类型为python object。因此,None不能参与到任何计算中

    Object类型的运算比int类型的运算慢的多

    计算不同数据类型求和时间

    %timeit np.arange(1e5,dtype=xxx).sum()

    %timeit是指python表达式或语句的执行时间

    Pandas中的nonenp.nan都视作np.nan

    数据清洗

    df.loc[index,column] ------>元素索引,肯定可以修改

    df[column][index] --------->列是属性,肯定可以修改

    df.loc[index][column] ----->从df中取出了样本,对取出来的数据进行了修改,原数据没变

    现获取列,在获取行

    如:df["python"][3] = np.nan

    先获取行,再获取列

    df.loc[3]["python"] = np.nan

    先获取行,是将样本数据取出来,在内存中的内存地址就不一样了,修改数据失败

    df.loc[3,5] =np.nan

    PandasNonenp.NaN的操作

    Isnull():判断是否有空数据

    Notnoll():判断是否没有空数据

    Dropna():过滤丢失数据

    Fillna():填充丢失数据

    (1)判断函数Isnull()Notnull()

    查找空数据

    如:cond=df.isnull().any(axis=1)

    df[cond]

    过滤掉空数据

    如:cond = df.notnull().all(axis=1)

    df[cond]

    (2)过滤函数Dropna()

    如:df.dropna(),删除df表中的含有空数据的样本

    可以选则过滤的是行还是列(默认过滤行)

    也可以选择过滤的方式how=all

    (3)数据填充fillna()

    Fillna()属性

    ['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

     

    对浮点数小数位数进行限定

    pd.set_option("display.float_format",lambda x:"%0.1f"%(x))     #保留一位为%0.1,保留两位为%0.2,以此类推

    注意:

             1.对于空数据,一般进行填充时填充该列的平均值、中位数、众数进行填充。

             2.对于和是用什么数据进行填充还得根据实际情况来决定

             3.正态分布使用平均值和中位数差别不大。

    **计算平均数的用mean()

    如:value=df.mean()

    df.fillna(value)

    **计算中位数用:median()

    如:value1 = df.median()

    df.fillna(value1)

    填充数据可选择行方向和列方向的向前填充或是向后填充

    df.fillna(method="bfill",axis=1)#向后填充

    df.fillna(method="ffill",axis=1) #向前填充

    df.fillna(value=values,limit=1)  #限制填充的行数,默认从第一行开始

    **统计众数:np.unique(s)

    使用众数进行填充同上

    Pandas中文件的读取和写入

    将数据存储到csv格式的文本

    s1.to_csv("./data1.csv",sep=',',index = False)   

    #存成csv格式,csv就是txt格式,用逗号进行分割,index表示是否将索引也存储进去

    #注意重点是sep分隔符和index索引的设置

              

    csv格式的文本数据导入到jupyter中

    如:pd.read_csv("./data1.csv")

    将数据存储成html格式

    s3.to_html("./data.html")

    pd.read_excel(“./data.htm”)

    将文件存储成json格式

    s3.to_json("./data.json")

    pd.read_json("./data.json")

    将文件存储成excel格式的文件

    s3.to_excel("./data.xls")

    pd.read_excel("./data.xls")

    有两种丢失数据

    ——None

    ——np.nan(NaN)

    Nonepython自带的,其类型为python object。因此,None不能参与到任何计算中

    Object类型的运算比int类型的运算慢的多

    计算不同数据类型求和时间

    %timeit np.arange(1e5,dtype=xxx).sum()

    %timeit是指python表达式或语句的执行时间

    Pandas中的nonenp.nan都视作np.nan

    数据清洗

    df.loc[index,column] ------>元素索引,肯定可以修改

    df[column][index] --------->列是属性,肯定可以修改

    df.loc[index][column] ----->从df中取出了样本,对取出来的数据进行了修改,原数据没变

    现获取列,在获取行

    如:df["python"][3] = np.nan

    先获取行,再获取列

    df.loc[3]["python"] = np.nan

    先获取行,是将样本数据取出来,在内存中的内存地址就不一样了,修改数据失败

    df.loc[3,5] =np.nan

    PandasNonenp.NaN的操作

    Isnull():判断是否有空数据

    Notnoll():判断是否没有空数据

    Dropna():过滤丢失数据

    Fillna():填充丢失数据

    (1)判断函数Isnull()Notnull()

    查找空数据

    如:cond=df.isnull().any(axis=1)

    df[cond]

    过滤掉空数据

    如:cond = df.notnull().all(axis=1)

    df[cond]

    (2)过滤函数Dropna()

    如:df.dropna(),删除df表中的含有空数据的样本

    可以选则过滤的是行还是列(默认过滤行)

    也可以选择过滤的方式how=all

    (3)数据填充fillna()

    Fillna()属性

    ['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

     

    对浮点数小数位数进行限定

    pd.set_option("display.float_format",lambda x:"%0.1f"%(x))

    对于空数据,一般进行填充时填充该列的平均值、中位数、众数进行填充。

    对于和是用什么数据进行填充还得根据实际情况来决定

    正态分布使用平均值和中位数差别不大。

    **计算平均数的用mean()

    如:value=df.mean()

    df.fillna(value)

    **计算中位数用:median()

    如:value1 = df.median()

    df.fillna(value1)

    填充数据可选择行方向和列方向的向前填充或是向后填充

    df.fillna(method="bfill",axis=1)#向后填充

    df.fillna(method="ffill",axis=1) #向前填充

    df.fillna(value=values,limit=1)  #限制填充的行数,默认从第一行开始

    **统计众数:np.unique(s)

    使用众数进行填充同上

    Pandas中文件的读取和写入

    将数据存储到csv格式的文本

    s1.to_csv("./data1.csv",sep=',',index = False)   

    #存成csv格式,csv就是txt格式,用逗号进行分割,index表示是否将索引也存储进去

    #注意重点是sep分隔符和index索引的设置

              

    csv格式的文本数据导入到jupyter中

    如:pd.read_csv("./data1.csv")

    将数据存储成html格式

    s3.to_html("./data.html")

    pd.read_excel(“./data.htm”)

    将文件存储成json格式

    s3.to_json("./data.json")

    pd.read_json("./data.json")

    将文件存储成excel格式的文件

    s3.to_excel("./data.xls")

    pd.read_excel("./data.xls")

  • 相关阅读:
    win7 64bit下使用PL/SQL Developer连接Oracle
    C#高级开发之 特性(Attribute)三
    K3单据表结构描述和相关关联SQL语句以及金蝶插件相关说明
    K3老单插件控制字段显示
    金蝶K3插件开发-控制单据焦点(BOS单据、工业单据)
    K3 单据,单据体自定义字段显示及时库存
    C#高级开发之反射(Reflection)二
    C#高级开发之泛型一
    python学习——协程
    python学习——线程
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10257167.html
Copyright © 2020-2023  润新知