zoukankan      html  css  js  c++  java
  • pandas模块(很详细归类),pd.concat(后续补充)

    6.12自我总结

    一.pandas模块

    import pandas as pd约定俗称为pd

    1.模块官方文档地址

    https://pandas.pydata.org/pandas-docs/stable/?v=20190307135750

    2.对一维的数据处理成列表

    1.pd.Serirs功能

    import numpy as np
    import pandas as pd
    
    arr = np.array([1, 2, 3, 4, np.nan, ])
    s = pd.Series(arr)
    print(s)
    #也可以不转换,但是转换后可以减少内存,尽量进行转换
    # arr = np.array([1, 2, 3, 4, np.nan, ])
    s = pd.Series([1, 2, 3, 4, np.nan, ])
    print(s)
    

    3.对二维数据处理成列表

    1.pd.DataFrame功能

    df = pd.DataFrame(数据内容,index=纵坐标,columns=横坐标)#数据内容必须是列表或者np.array格式,尽量用np.array格式减少内存
    #生成的数据列表预定俗称最好命名成df
    #对df的取值
    

    2.pd.DataFrame参数表

    属性 详解
    dtype 查看数据类型
    index 查看行序列或者索引
    columns 查看各列的标签
    values 查看数据框内的数据,也即不含表头索引的数据
    describe 查看数据每一列的极值,均值,中位数,只可用于数值型数据
    transpose 转置,也可用T来操作
    sort_index 排序,可按行或列index排序输出
    sort_values 按数据值来排序

    4.df进行取值和简单处理

    1.df.index

    取纵坐标

    2.df.columns

    取横坐标

    3.df.values

    取填入的数据并且为array格式

    4.df.describe()

    计数列表的各个列的个数,最大值,最小值等等

    5.df.T

    横纵坐标进行对调

    6.df.sort_index(axis=0)

    根据axis=0或者1按照横坐标或者纵坐标进行排序

    7.df.sort_values('按照的对象名称')

    按照值进行排序,默认是竖着排序,也可以通过设置axis=0或者1进行修改,默认升序

    8.df里的值按行取行

    取单行:用切片进行df[0:1]取第一行,但是开始的话横纵坐标是不算在里面的,这里是横坐标的索引

    取多行:df.loc[起始横坐标:结束横坐标] 必须是横坐标,纵坐标的名称而不去索引,前后可以相同就取起始横坐标这一行

    9.df里的值按列取取列

    取某一列,df[这列的对应的横坐标]

    取多列,df[[第一列的对应的横坐标,第二列的对应的横坐标]]以此类推

    10.df里面按行取值

    按行取值df.iloc[2, 1] 第3行第二个

    11.df取某个区域

    df.iloc[1:4, 1:4] 横坐标是,第2个到第5个,纵向是第二个到第五个

    12.df取某个位置的一个值

    df['横坐标名称']['纵坐标名称']

    df.loc['纵坐标名称','横坐标名称']

    13.逻辑取值

    df[df['c1'] > 0] 结合上面取值进行判断

    14.替换值

    结合上面取值进行替换

    5.df.dropna

    1.df.dropna(axis=1)

    axis进行行列选择,横着加还是竖着加

    2.df.dropna(thresh=4)

    删除行不为4个值的

    3.df.dropna(subset=['c2'])

    删除c2中有NaN值的数据

    6.df重空值进行添加

    df.fillna(value=10)空值填充10

    7.df进行合并

    1.pd.concat((df1, df2), axis=1)

    合并行列都可以由axis控制

    2.df1.append(df2)

    append只能合并列

  • 相关阅读:
    笔记:Linux进程间通信机制
    Linux下C/C++和lua交互-Table
    @JsonFormat时间格式化注解使用
    关于 mybatis 报invalid comparison: java.util.Arrays$ArrayList and java.lang.String异常
    @RestControllerAdvice作用及原理
    MySQL 中 datetime 和 timestamp 的区别与选择
    idea提交svn忽略.class等文件的相关配置(so easy)
    PLSQL Developer建表时注释(COMMENT)中文乱码的解决方案(Windows)
    oracle客户端安装与配置
    PLSQL安装、PLSQL汉化、激活
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11013149.html
Copyright © 2011-2022 走看看