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只能合并列

  • 相关阅读:
    【POJ 1958】 Strange Towers of Hanoi
    【HNOI 2003】 激光炸弹
    【POJ 3263】 Tallest Cow
    【POJ 2689】 Prime Distance
    【POJ 2777】 Count Color
    【POJ 1995】 Raising Modulo Numbers
    【POJ 1845】 Sumdiv
    6月16日省中集训题解
    【TJOI 2018】数学计算
    【POJ 1275】 Cashier Employment
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11013149.html
Copyright © 2011-2022 走看看