前言:本博文摘抄自中国慕课大学上的课程《Python数据分析与展示》,推荐刚入门的同学去学习,这是非常好的入门视频。

继续一个新的库,Pandas库。Pandas库围绕Series类型和DataFrame类型这两种数据结构,提供了一种高效便捷的数据处理方式。

- Series 类型创建

Series类型是一组数据及与之相关的数据索引组成

自动索引:

a = pd.Series([9, 8, 7, 6]) 构造一个Series对象a



自定义索引:

a = pd.Series([9, 8, 7, 6], index = [‘a’, ‘b’, ‘c’, ‘d’])

- 从标量值创建:

s = pd.Series(25, index = [‘a’, ‘b’, ‘c’])

- 从字典类型创建:

键值对中的键是索引

d = pd.Series({‘a’:9, ‘b’:8, ‘c’:7})



  • 从ndarray类型创建:



  • Series类型基本操作
  • ,index 获得索引 .values 获得数据



Series类型会自动生成默认索引,当自动索引和自定义索引并存,全当自定义索引。

只索引,得到值。做切片,得到还是Series类型数据。



in : 判断“键”是否在字段中 返回 True / False

b.get(‘f’, 100) 获取b的索引为‘f’的数据,若不存在,返回100

Series类型对齐操作



索引一致的,对应元素相加,无一致的索引,数据为NaN

Series类型的name属性

- DataFrame类型创建

DataFrame是表格型类,可理解为二维代表签数据类型, 其由共用相同索引的一组列组成: index(axis=0),colum(axis=1)

从ndarray创建DataFrame类型

d= pd.DataFrame(np.arange(10).reshape(2,5))



从字典创建DataFrame类型

字典中的键,默认为列索引;

只选取字典中有的索引所对应的值,没有的自动补齐

从列表创建DataFrame类型

d[‘one’] 获得新的DataFrame类型

d.ix[‘b’] 获得d的 b这一列

d[‘one’][‘b’] 获得 数据 2 注意:必须先[‘one’]后[‘b’],先列后行

- Pandas数据类型操作

重新索引

reindex(index=None, columns=None,…)方法 可改变或重排Series和DataFrame索引

reindex(index=None, columns=None,…)

index, colums 新的行列自定义索引

fill_value 在重新索引,用于填充缺失位置的值

method 填充方法,ffill当前值向前填充, bfill向后填充

limit 最大填充量

copy 默认为True,生成新的对象,False时,新旧相等,但不复制

d.reindex(index = [‘d’, ‘c’, ‘b’, ‘a’ ])

d.reindex(colums = [‘two’, ‘one’])

newc = d.colums.insert( 4, ‘新增’) newc为一个colums

- 索引类型常用方法

.append(idx) 连接另外一个Index对象,产生新的Index对象

.diff(idx) 计算差集,产生新的Index对象

.intersection(idx) 计算交集,产生新对象

.union(idx) 计算并集

.delete(loc) 删除loc位置处的元素

.insert(loc, e) 在loc位置增加一各元素e

删除指定索引对象

.drop()可删除Series或DataFrame制定的行或列

d.drop([‘c1’, ‘c2’]) # 此处生成新对象,原对象d不改变

d.drop(‘one’,axis=1) 要删除列,需要加上axis = 1.

  • Pandas库数据类型运算

算术运算法则

根据行列索引进行运算,补齐(NaN)后运算,运算默认产生浮点数

二维和一维、一维和零维时,采用广播运算,即低的于高的每一维运算

算术运算方法形式的运算

.add(d, **argws) .sub(d, **argws) .mul(d, **argws) .div(d, **argws)

**argws为可选参数:

fill_value,补齐时填充的值;

广播运算时,一维的列默认作用到二维的行(axis=1),要更改到列,则需要增加参数

a.add(b, axis=0 )

比较运算

同维度需要有相同的shape

不同维度时,默认为在1轴运算

- 数据排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序。

.sort_index(axis=0,ascending = True) ascending是指递增排序

.sort_values()方法在指定轴上根据数值进行排序,默认升序。

Serier.sort_values(axis= 0, ascending=True)

DataFrame.sort_values(by, axis = 0, ascending = True)

by: 只对axis轴上的某个 索引 或 索引列表 进行排序



NaN空值,保持在排序末尾

- Pandas统计分析函数

.sum() 计算数据总和,按0轴计算

.count() 非NaN值的数量

.mean() .median() 计算算术平均值、算术中位数

.var() .var() 计算方差、标准差

.min() .max 计算最小、大值

.argmin() .argmax() 计算最大、小值所在位置的索引(针对自动索引的)(适用于Series类型:)

.idxmin() .idxmax() 计算最大、小值所在位置的索引(针对自定义索引的)(适用于Series类型:)

.describe() 针对0轴(各列)的统计汇总



- 数据的相关性

.cov() 计算协方差矩阵

.corr() 计算相关系数矩阵

Python之Pandas库常用函数大全(含注释)的更多相关文章

  1. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  2. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

  3. Python之Matplotlib库常用函数大全(含注释)

    plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Grade’) :  y轴的名称 plt.axis([-1, 1 ...

  4. Matplotlib库常用函数大全

    Python之Matplotlib库常用函数大全(含注释) plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Gr ...

  5. Pandas库常用函数和操作

    1. DataFrame 处理缺失值  dropna() df2.dropna(axis=0, how='any', subset=[u'ToC'], inplace=True) 把在ToC列有缺失值 ...

  6. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  7. Python math库常用函数

    math库常用函数及举例: 注意:使用math库前,用import导入该库>>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x>>> ...

  8. 【javascript】javascript常用函数大全

    javascript函数一共可分为五类:   •常规函数   •数组函数   •日期函数   •数学函数   •字符串函数   1.常规函数   javascript常规函数包括以下9个函数:   ( ...

  9. pandas模块常用函数解析之Series(详解)

    pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...

随机推荐

  1. bzoj 3143 [Hnoi2013]游走 期望dp+高斯消元

    [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3394  Solved: 1493[Submit][Status][Disc ...

  2. javascript中 for循环的一些写法 for length 以及for in 还有 for of 的区别

    最近在写一些前端的代码,遇到一个产品列表遍历的问题,正好使用到for 的几种用法,于是研究了下. 代码如下,先说明下goodslist 是一个产品列表 形如这样的数据格式 { ‘types’:1, ' ...

  3. cf524C The Art of Dealing with ATM

    ATMs of a well-known bank of a small country are arranged so that they can not give any amount of mo ...

  4. C语言标准库 qsort bsearch 源码实现

    C语言是简洁的强大的,当然也有很多坑.C语言也是有点业界良心的,至少它实现了2个最最常用的算法:快速排序和二分查找. 我们知道,对于C语言标准库 qsort和 bsearch: a. 它是“泛型”的, ...

  5. 用node写的一个后台框架

    server.js var http=require('http') var handleUrl=require('./handleUrl') var config = require('./conf ...

  6. poj 2318 TOYS 点与矩形的关系

    题目链接 题意 有一个矩形盒子,\(n(n\leq 5e4)\)条线段将其分成了\(n+1\)个区域(每条线段的两个端点分别在矩形的上边和下边,且线段互不相交).现向盒子中扔\(m(m\leq 5e4 ...

  7. java打包python到exe文件

    最近想把写的python代码打包,以供没用安装python环境的同事使用,需求如下: 无python环境也可执行 文件尽量少,不要太乱 程序体积尽量小 如果需要更新的话重复类库不用更新 采用方案如下: ...

  8. AC日记——一元三次方程求解 洛谷 P1024

    题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...

  9. js-浅显基础-正则表达式集

    今天进博客园,忽然发现我也是有粉丝的人啦!!!!!!!!谢谢谢谢关注(爱心爱心) 本来不想做这个笔记的,但是每次都百度我自己都烦死了,所以还是自己整理一下方便我后期使用: 独笑笑不如众笑笑,放轻松点 ...

  10. waypoint+animate元素滚动监听触发插件实现页面动画效果

    最近在做一个官网类型滚动加载动画,使用到waypoint监听事件插件和animate动画样式,两者结合完美实现向下滚动加载动画,但是没有做向上滚动撤消动画,留待以后有空研究 首先来介绍下jquery. ...