小孟先森的博客

一个起步Python程序员的进阶之路

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:大文件,支持压缩,跨平台
阅读更多

扫码向博主提问

去开通我的Chat快问

michael_cool

非学,无以致疑;非问,无以广识
版权声明:本文为博主原创文章,未经博主允许请随意转载。 https://blog.csdn.net/Michael_Cool/article/details/80323593
个人分类: 学习日志
想对作者说点什么? 我来说一句

python_pandas

2017年11月01日 3.6MB 下载

python安装pandas

2017年11月10日 164KB 下载

PANDAS 思维导图

2017年12月05日 2.37MB 下载

Pandas Cookbook 9781784393878.pdf

2018年01月10日 28.81MB 下载

Learning Pandas 2015.

2017年12月14日 8.52MB 下载

Pandas Cheat Sheet

2018年01月25日 539KB 下载

Pandas DataFrame Notes

2018年04月11日 316KB 下载

Pandas 官方教程

2017年06月23日 1.4MB 下载

pandas 中文手册

2017年09月13日 2.88MB 下载

Python数据分析与机器学习-Pandas

2017年12月26日 561KB 下载

没有更多推荐了,返回首页

不良信息举报

pandas

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭