Pandas

一、Pandas简介

Pandas是数据分析三剑客之一(Pandas、Matplotlib、Numpy),是Python核心数据分析库,提供了快速、灵活、明确的数据结构,能够简单、直观、快速地处理各种类型地数据。

Pandas能够处理以下类型地的数据:

  • 与SQL或者Excel表类似的数据;
  • 有序和无序(非固定频率)的时间序列数据;
  • 带行、列标签的矩阵数据;
  • 任意其他形式的观测、统计数据等;

Pandas提供了两个主要数据结构Series (一维数组结构)和DataFrame(二维数组结构),可以处理金融、统计、社会科学、工程等领域的大多数典型案例,并且Pandas是基于Numpy开发的,可以与其他第三方科学计算库完美集成。

维数

名称

描述

1

Series

带标签的一维同构数组

2

DataFrame

带标签的大小可变的二维异构数组

Pandas主要优势如下:

  • 处理浮点与非浮点数据里的缺失数据,表示为NaN;
  • 大小可变,例如插入或者删除DataFrame等多维对象的列;
  • 自动、显式数据对齐,显式地将对象与一组标签对齐,也可以忽略标签,在Series和DataFrame计算时自动与数据对齐;
  • 强大、灵活的分组统计功能(groupby),即数据聚合、数据转换;
  • 把Python和Numpy数据结构里不规则、不同索引的数据轻松地转换为DataFrame对象;
  • 智能标签,对大型数据集进行切片、花式索引、子集分解等操作;
  • 灵活地重塑(reshape)、透视(pivot)数据集;
  • 直观地合并(merge)、连接(join)数据集;
  • 成熟的导入、导出工具,导入文本文件(csv等支持分隔符的文件)、Excel文件、数据库等来源的数据,导出Excel文件、文本文件等,利用超快的HDF5格式保存或加载数据;
  • 时间序列:支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能;

二、Pandas安装和简单使用

最简单的可以通过PyPI(Python Package Index)的pip(python install packages)工具安装。

安装命令:pip install Pandas

Note: you may need to restart the kernel to use updated packages.

更新库:pip install --upgrade Pandas

下面通过一个Excel数据导入的例子来初识Pandas。

三、Series对象

Pandas是Python数据分析重要的库,而Series和DataFrame是Pandas库中两个重要的对象,也是Pandas中两个重要的数据结构。

Series是Python的Pandas库中一种数据结构,类似一维数组,由一组数据以及与这组数据相关的标签(即索引)组成,或者仅有一组数据没有索引也可以创建一个简单的Series。Series可以存储整数、浮点数、字符串、Python对象等多种类型的数据。

比如上面的Excel,就包含了Series对象和DataFrame对象。其中“得分”、“篮板”、“助攻”等每一列都是一个Series对象,其共同组成了一个DataFrame对象。

创建Series对象语法: s = pd.Series(data,index = index)

data:表示数据,支持Python字典、多维数组、标量值(只有大小没有方向的量);

index:表示行标签(索引);

返回值:Series对象;

手动设置Series索引

如上例所示,创建Series对象时会自动生成整数索引,默认值从0开始至数据长度减1。

除了使用默认索引,我们还可以通过index参数手动指定设置索引。

Series位置索引

位置索引是从0开始数数的,[0]是Series的第一个数,以此类推。

Series标签索引

与位置索引类似,用“[]”表示,里面是索引的名称,注意index的数据类型是字符串,如果需要获取多个标签索引值,需要用“[[]]”表示。

Series切片索引

用标签索引做切片,包头包尾(即包含索引开始位置的数据,也包含索引结束位置的数据)。

用位置索引做切片,包头不包尾(即包含索引开始位置的数据,但不包含索引结束位置的数据),这个和列表是一样的。

获取Series的索引和值

获取Series的索引和值可以使用Series的index和values方法。

四、DataFrame对象

DataFrame是Pandas库中一种由多种类型的列组成的二维表数据结构,类似于Excel、SQL或者Series对象构成的字典。

DataFrame是一个二维数据结构,由行、列数据组成的表格。DataFrame既有行索引又有列索引,可以看作是由Series对象组成的字典,不过这些Series对象共用一个索引。

创建DataFrame对象语法: df = pd.DataFrame(data,index,columns,dtype,copy)

data:表示数据,可以是ndarray数组、Series对象、列表、字典等;

index:表示行标签(索引);

columns:表示列标签(索引);

dtype:每一列数据的数据类型;

copy:用于复制数据;

返回值:返回DataFrame对象;

Pandas dtype

Python type

object

str

int64

int

float64

float

bool

bool

datatime64

datetime64[ns]

timedelta[ns]

NA

category

NA

通过字典创建DataFrame

字典中的value值只能是一维数组或者单个简单数据类型,如果是数组,要求所有的数组长度一致,如果是单个数据,要求每行都添加相同的数据。

import pandas as pd# 使列名对齐pd.set_option('display.unicode.east_asian_width',True)df = pd.DataFrame({'班级':'三年二班','语文':[98,95,85],'数学':[79,66,90],'英语':[100,92,89],},index = [0,1,2])print(df)

DataFrame的重要属性和函数

属性

描述

例子

values

查看所有元素的值

df.values

dtypes

查看所有元素的类型

df.dtypes

index

查看所有行名、重命名行名

df.index    df.index = [1,2,3]

columns

查看所有列名、重命名列名

df.columns  df.columns=[‘1’,’2’,’3’]

T

行列数据转换

df.T

head

查看前n条数据,默认5条

df.head()   df.head(10)

tail

查看后n条数据,默认5条

df.tail()     df.tail(10)

shape

查看行数和列数,[0]行[1]列

df.shape[0]  df.shape[1]

info

查看索引、数据类型和内存信息

df.info

函数

描述

例子

describe

查看每列的统计汇总信息,DataFrame类型

df.describe()

count

返回每一列中的非空值的个数

df.count()

sum

返回每一列的和,无法计算返回空值

df.sum()

max

返回每一列的最大值

df.max()

min

返回每一列的最小值

df.min()

argmax

返回最大值所在的自动索引位置

df.argmax()

argmin

返回最小值所在的自动索引位置

df.argmin()

idxmax

返回最大值所在的自定义索引位置

df.idxmax()

idxmin

返回最小值所在的自定义索引位置

df.idxmin()

mean

返回每一列的平均值

df.mean()

median

返回每一列的中位数(中值)

df.median()

var

返回每一列的方差

df.var()

std

返回每一列的标准差

df.std()

isnull

检查df中的空值,空值为True,否则False

df.isnull()

notnull

检查df中的空值,非空值为True,否则False

df.notnull()

【学习笔记】 Python - Pandas相关推荐

  1. python分组求和_Python学习笔记之pandas索引列、过滤、分组、求和功能示例

    本文实例讲述了Python学习笔记之pandas索引列.过滤.分组.求和功能.分享给大家供大家参考,具体如下: 前面我们已经把519961(基金编码)这种基金的历史净值明细表html内容抓取到了本地, ...

  2. Python学习笔记:pandas初体验

    Python学习笔记:pandas初体验 一.安装pandas模块 1.安装Python3.7 注意:必须勾选pip(python install package). 2.配置环境变量 3.下载 pa ...

  3. pandas学习笔记:pandas.Dataframe.rename()函数用法

    pandas学习笔记:pandas.Dataframe.rename()函数用法 pandas.Dataframe.rename()函数主要是用来修改Dataframe数据的行名和列名. 主要用到的参 ...

  4. python语言的33个保留字的基本含义_Python学习笔记——Python的33个保留字及其意义,python,pythone33,含义...

    Python学习笔记--Python的33个保留字及其意义,python,pythone33,含义 发表时间:2020-03-27 笔记走起 正文 序号 保留字 含义 1 and 用于表达式运算,逻辑 ...

  5. Python数据分析三剑客学习笔记Day3——pandas包的使用:认识series类型,DataFrame类型,读取excel表格数据及数据操作

    本文是视频Python数据分析三剑客 数学建模基础 numpy.pandas.matplotlib的学习笔记. -------------------------------------------- ...

  6. Python学习笔记--Python字符串连接方法总结

    声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...

  7. 树莓派学习笔记——Python SQLite插入温度记录

    0 前言 本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度值.本文重点解释Python操作SQlite的具体方法 ...

  8. 全志H616学习笔记------Python

    要求:不用深究,用C语言的视角学习,会改就行 Python是一种动态解释型语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在java..NET开发平台上使用. 特点 ...

  9. python提示keyerror 13372,Python 学习笔记之—— Pandas 库

    import numpy as np import pandas as pd 1. 基本的数据结构 1.1 Series Series 是一维的标记数组,可以容纳任意数据类型,比如整数.字符串.浮点数 ...

  10. 非理工科编程零基础文科生秒懂python学习笔记:pandas库数据表格创建和运算基础有哪些?

    #dataframe的数据类型 #每行的数据类型可以不一样 #行索引为index 等同于excel表格最左边的1.2.3.4 #列索引为column 等同于excel表格最顶端的A|B|C|D|E # ...

最新文章

  1. maven编译java1.8项目_maven正在用java 1.7编译代码,但我想用1.8编译它
  2. linux命令:系统裁剪之五dropbear嵌入式系统专用ssh服务
  3. android中互斥的控件,Android控件之Radiobutton与RadioGroup
  4. 绝地求生12月18日服务器信息,绝地求生12月18号几点更新维护完 2019绝地求生12月18日更新维护开服时间...
  5. 库对比工具mysqldiff使用
  6. C#基础知识之base、this、new、override、abstract梳理
  7. 如何检测本计算机耗电量,如何查看电脑耗电量?鲁大师查看电脑使用功率的方法...
  8. 时间复杂度和空间复杂度,一看就懂,面试前必过一遍
  9. 存储入门:存储区域网络SAN技术完全详解
  10. Android 图标异常,APK格式文件图标显示异常
  11. gif透明背景动画_如何利用premiere制作GIF动态图片
  12. cookie.setValue一些注意事项
  13. 箱形图、盒须图、盒式图、箱线图
  14. 自制H桥有刷电机驱动板
  15. 【Linux学习笔记】线程同步 之 信号量 之 sem_t结构体
  16. 中科院1区JGG微生物专刊征稿
  17. 计算机学校班干部竞选演讲稿,精选:2019学校班干部个人竞选演讲稿范文五篇...
  18. html里覆写css样式,!important覆写css行内样式
  19. 数仓分层的意义及通用设计
  20. KV260编译SmartCam应用

热门文章

  1. C# ckeditor+ckfinder的图片上传配置
  2. 看译飞的由浅入深漫谈margin属性
  3. How to become the truely yourself?
  4. 长假后第一天不想工作,这病咋治?
  5. 知乎:什么时候你是产品经理,而不是产品助理?
  6. 一个公式、五大指标帮你构建产品经理数据分析思维
  7. 聊一聊社交网络的逻辑、产品和未来
  8. day12 装饰器进阶
  9. App Store应用脱壳
  10. 将数据转化为API,OpenDataSoft获540万美元A轮融资