pandas学习

pandas:开源BSD许可的python库,Python Pandas的官方网站是: http://pandas.pydata.org/

使用强大的数据结构提供高性能的数据操作和分析工具。Pandas:Panel Data - 多维数据的计量经济学

在pandas之前,python主要用于数据迁移和准备,对数据分析的贡献更小,使用pandas可以

完成数据处理和分析的五个典型步骤,而不管数据的来源-加载,准备,操作,模型和分析。
python pandas用于广泛的领域,包括金融、经济、统计、分析等学术和商业领域。

pandas库使用NumPy的大部分功能。

主要特点:

1.快速高效的DataFrame对象,具有默认和自定义的索引(DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型。在其底层是通过二维以及一维的数据块实现。)

2.将数据从不同文件格式加载到内存中的数据对象的工具

3.丢失数据的数据对齐和综合处理

4.重组和摆动日期集

5.基于标签的切片,索引和大数据集的子集

6.可以删除或插入来自数据结构的序列

7.按数据分组进行聚合和转换

8.高性能合并和数据加入

9.时间序列功能

Pandas处理的三种数据结构:系列(Series)、数据帧(DataFrame)、面板(Panel),这些数据结构构件在Numpy数组之上,这意味着它们更快。

维数和描述:较高维数据结构是其较低伟数据结构的容器。eg:DataFrame是Series的容器,Panel是DataFrame的容器

--------------------------------------------------------------------------------------------------------

数据结构     维数        描述

系列               1          1 D标记均匀数组,大小不变

数据帧            2          一般2 D标记,大小可变的表结构与潜在的异质类型的列

面板               3          一般3 D标记,大小可变数组

----------------------------------------------------------------------------------------------------------

构建和处理两个或更多个维数组是一项繁琐的任务,用户在编写函数时要考虑数据集的方向,但是使用Pandas数据结构,减少了用户的思考。例如:使用表格数据(DataFrame),在语义上更有利于考虑索引(行)和列,而不是轴0和轴1。

可变性:所有pandas数据结构是值可变的(可更改),除了系列都是大小可变的。系列是大小不变的

(DataFrame被广泛使用,是最重要的数据结构之一,面板使用少得多)

系列

系列是具有均匀数据的一维数组结构。例如,以下系列是整数:10,23,56...的集合。

  • 均匀数据
  • 尺寸大小不变
  • 数据的值可变

数据帧

数据帧(DataFrame)是一个具有异构数据的二维数组。 例如,

姓名 年龄 性别 等级
Maxsu 25 4.45
Katie 34 2.78
Vina 46 3.9
Lia x女 4.6

上表表示具有整体绩效评级组织的销售团队的数据。数据以行和列表示。每列表示一个属性,每行代表一个人。

列的数据类型

上面数据帧中四列的数据类型如下:

类型
姓名 字符串
年龄 整数
性别 字符串
等级 浮点型
  • 异构数据
  • 大小可变
  • 数据可变

面板

面板是具有异构数据的三维数据结构。在图形表示中很难表示面板。但是一个面板可以说明为DataFrame的容器。

关键点

  • 异构数据
  • 大小可变
  • 数据可变

 

在测试pandas的简单应用时,不能把文件名直接命名为诸如pandas,numpy等,当以该名字命名后在更改名字时,注意要把原运行后的pyc后缀文件删除,否则会出现:

Traceback (most recent call last):
  File "PADA.py", line 1, in
    import pandas as pd
ImportError: bad magic number in 'pandas': b'\x03\xf3\r\n'

 

对象创建:

1.通过传递值列表来创建一个系列,让pandas创建一个默认的整数索引:

s=pd.Series([1,3,5,np.nan,6,8])

2.通过传递numpy数组,使用datetime索引和标记列来创建DataFrame:

 

你可能感兴趣的:(python)