pandas

pandas

  • 基于Numpy和matplotlib的用于数据分析的库
  • 和Numpy的区别是能更好的完成一些Numpy不好完成的工作,如numpy中的缺失值nan的处理

  • 为什么学?

    • 1.以上
    • 2.可以存储,处理字符串类型的数据
    • 3.对于数据量没那么大的情况(几十G,甚至1-2T),不必使用Hadoop和Spark,杀鸡焉用牛刀,pandas就可以很好的解决

核心

  • Series:一维数组
  • DataFrame:二维数组

二维数组

  • 两个索引数组

    • index:行索引
    • columns:列索引
  • 构造:

    import numpy as np
    import pandas as pd
    d1 = pd.DateFrame(mp.arange(12).resjanpe(3,4))
    
  • 属性:

    • shape:结构
    • dtypes:数据类型
    • index:行索引
    • columns:列索引
    • values:值
    • head(数字):查询前几个数据
    • tail(数字):查询后几个数据
  • 构造一个Seiries

    
    # 1.指定内容,默认索引
    
    s1 = pd.Seiries(np.arange(10))
    
    
    # 2.指定索引
    
    s1 = pd.Seiries([1,2,3,6,4], index=['a','b','c','d','e'])
    
    
    # 3.通过字典创建
    
    s1 = pd.Seiris({'a':1,'b':2,'c':8})
    
    • 获取索引值
    • Seiries:s1.[1:3:1],和列表的用法一样

基本操作

  • 获取数据

    • pd.read_csv(file)
  • 索引和切片

    • 使用行列索引(先列后行)
    • d1['列索引名']['行索引名']
    • 结合loc/iLoc使用索引
    • d.loc[起始行索引名:结束行索引名,起始列索引名:结束列索引名]
    • d.iloc[起始行索引值:结束行索引值,起始列索引值:结束列索引值]
  • 排序

    • 根据一个列名排序
    • d1.sort_values(by='列索引名')
    • 根据多个列索引名排序,从前到后的顺序,前面一个索引名相同,然后在根据后面的一个索引名排序
    • d1.sort_value(by=['列索引名1','列索引名2','列索引名3'])
  • 统计

  • 基本统计分析函数
    • .describe():针对0轴(列)的统计汇总
    • .sum():计算数据的总和,按0轴计算
    • .count():非Nan值数量
    • .mean(),.median(),.mode():计算数据的算数平均值,中位数,众数
    • .var(),.std():计算数据的方差/标准差
    • 以下适用于series:
    • .argmin(),.argmax():计算数据的最大值/最小值所在位置的索引值
    • .idmin(),.idmax():计算数据的最大值/最小值所在位置的索引名
  • 累计统计分析函数

    • .cumsum():依次给出前1/2/3…/n个数的和,场景:计算股票的累计涨幅
    • .cumprod():依次给出前1/2/3…/n个数的积
    • .cummax():依次给出前1/2/3…/n个数的最大值
    • .cummin():依次给出前1/2/3../n个数的最小值
  • 逻辑条件进行数据筛选

    • <,>等:d1[d1.['列名'>5]]
    • &,|:d1[(d1['列名1']>5)&(d1['列名2']<10)]
  • 算数运算

    • .add(d,**args):类型间加法运算
    • .sub(d,**args):类型间减法运算
    • .mul(d,**args):类型间乘法运算
    • .div(d,**args):类型间除法运算
  • pandas数据读取

    • 数据类型:CSV(常用),HDF5(常用),SQL,XLS,JSON…

    这里写图片描述

    • CSV:一种以文本格式呈现数据表的文件格式。适合存储一些小的文件
    • HDF5:大文件,支持压缩,跨平台
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值