pandas简介

一、前言

  最近用spark学习机器学习算法,学习到关联规则APriori算法时(https://www.cnblogs.com/1113127139aaa/p/9926507.html)发现,算法是用python实现的,算法中需要进行On2的遍历,但当数据集过大(例如我们使用的TPC-H的lineitem表有几十G,近百亿条数据)的时候,python使用的将数据集加载为set的方法就难以实现,所以考虑不转换为set,直接用从dataframe中读取出来的数据形式dataframe进行操作,学习中发现spark自带的df操作较少,并且有限制,所以先进行pandas的学习

  参考:https://www.jianshu.com/p/aac3153b47eb

     https://www.yiibai.com/pandas/python_pandas_data_structures.html

     https://www.cnblogs.com/xiaoxuebiye/p/7223774.html

二、Pandas简介

  pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法,是使Python成为强大而高效的数据分析环境的重要因素之一。

  Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。

  Pandas官方文档

  相关书籍:利用Python进行数据分析

三、Pandas数据结构 

  Pandas处理以下三个建立在Numpy数组上的数据结构 

  • 系列(Series)
  • 数据帧(DataFrame)
  • 面板(Panel)

  

  维数和描述

   考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器。 例如,  DataFrameSeries的容器,PanelDataFrame的容器。

数据结构维数描述
系列 1 1D标记均匀数组,大小不变。
数据帧 2 一般2D标记,大小可变的表结构与潜在的异质类型的列。
面板 3 一般3D标记,大小可变数组。

  (1)系列

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

  关键点

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

  (2)数据帧

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

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

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

  列的数据类型

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

类型
姓名 字符串
年龄 整数
性别 字符串
等级 浮点型

  关键点

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

  

  (3)面板

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

  关键点

  • 异构数据
  • 大小可变
  • 数据可变
原文地址:https://www.cnblogs.com/1113127139aaa/p/9963317.html