Pandas(一)入门

李先生 2020年07月17日 90次浏览

Pandas-数据处理库

ps :学习本库之前

  • 你应该具备一些Python的基础
  • 你需要安装Pandas库 -----当然,我推荐你安装Anaconda(python的一个发行版,默认包含一百多个数学处理的常用库)
  • 你需要安装jupyter(一个可以互动运行py程序的web程序,本教程中例子均用jupyter演示,不过如果你偏爱pycharm也是可以的,但相较起来,还是有点不方便)

一、pandas简介

Pandas是一个Python软件包,提供快速,灵 活和富有表现力的数据结构,旨在使“关系” 或“标记”数据的工作变得简单直观。 Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工 具以及大量能使我们快速便捷地处理数据的 函数和方法。 Pandas最初被作为金融数据分析工具而开发 出来,因此,pandas为时间序列分析提供了 很好的支持。 Pandas的名称来自于面板数 据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多 维数据集的一个术语,在Pandas中也提供了 panel的数据类型。

二、学完之后可以做什么

  • 1.轻松处理浮点数据中的丢失数据(以NaN表示)以及非浮点数据
  • 2.大小可变性:可以从DataFrame和更高维的对象插入和删除列
  • 3.自动和显式的数据对齐:对象可以显式地与一组标签对齐,或者用 户可以简单的忽略标签,让 S e ri e s , D a t a F r a m e 等自动对齐你的数据 在计算
  • 4.功能强大,灵活的按组功能来执行对数据集拆分申请,联合行动, 对于聚合和转换数据
  • 5.可以轻松地将其他Python和NumPy数据结构中的不同索引的数据 转换为DataFrame对象
  • 6.基于智能标签的切片,花式索引和 大型数据集的子集
  • 7.直观的合并和连接数据集
  • 8.数据集的灵活的重塑和旋转
  • 9.坐标轴的分层标记(可能每个标记有多个标签)
  • 10.强大的IO工具,用于从平面文件(CSV和分隔),Excel文件,数据库加载数据,以及从超快HDF5格式保存/加载数据
  • 11.时间序列 - 特定功能:日期范围生成和频率转换,移动窗口统计, 移动窗口线性回归,日期偏移和滞后等。

三、Pandas新手入门

1. 开发环境准备

  • 操作系统:windows 10
  • 开发工具:
    • Anaconda 1.7.2
    • jupyter 1.0.0
  • python:3.7
  • 第三方模块:
    • numpy:1.18.1 科学计算
    • pandas:1.0.1 数据处理
    • matplotlib 3.1.3 数据可视化

2. 本教程Pandas引用约定

  • from pandas import Series , DataFrame
  • import pandas as pd

3. Pandas 基本数据结构

要使用 pandas,你首先就得熟悉它的两个主要数据结构: Series和 Dataframe。虽然
它们并不能解决所有问题,但它们为大多数应用提供了一种可靠的、易于使用的基础。

3.1 Pandas 基本数据结构-Series

Series是一种类似于一维数组的对象,它由一组数据(各种 Numpy数据类型)以及 一组与之相关的数据标签(即索引1)组成。仅由一组数据即可产生最简单的 Series

image20200714160106770.png

image20200714160126590.png

以上测试案例代码如下

from pandas import  Series , DataFrame
import pandas as pd

obj = Series([4,7,-5,3])
obj

obj.values

obj2 = Series([4,7,-5,3],index=['a','b','c','d'])
obj2

obj2['a']

obj2['d']=6

obj2[['c','a','d']]

sdata = {'张三':1500,'李四':2000,'王五':1000,'袁六':3000}
obj3 = Series(sdata)
obj3

states = ['李四','张三','袁六','祝小七']
obj4 = Series(sdata,index=states)
obj4

obj.index = ['Bob','Steve','Jeff','Ryan']
obj

3.2 Pandas 基本数据结构-DataFrame

DataFrame 是一个 表格型 的数据结构,它含有一组 有序的列 ,每列可以 是 不同的值类型 (数值、字符串、布尔值等)。 Dataframe既有行索引也有 列索引,它可以被看做由 Series组成的字典(共用同一个索引)。跟其他类似的 数据结构相比(如R的dataframe), Data frame中 面向行 和 面向列 的操作 基本上是平衡的。其实, Dataframe中的数据是以一个或多个二维块存放的 (而不是列表、字典或别的一维数据结构)。

image20200714161518247.png

1) 第一种构建 DataFrame的方法: 由等长列表或Numpy 数组构成的字典

构建DataFrame的办法有很多,最常用的一种是直接传入一个由等长列表或NumPy数组组出的字典

image20200714171757884.png

image20200714171842047.png

image20200714171908125.png

image20200714171948223.png

2) 第二种构建 DataFrame的方法: 嵌套字典(即字典 中的字典)外层字典的键作为列,内层字典的键作为行索引

image20200714172045700.png