zoukankan      html  css  js  c++  java
  • 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的容器。

      关键点

    • 异构数据
    • 大小可变
    • 数据可变
  • 相关阅读:
    CF948D Perfect Security
    bzoj 1015 [JSOI2008]星球大战starwar
    XJOI 7191 Genius ACM
    bzoj 1491 [NOI2007]社交网络
    CF1066F Yet another 2D Walking
    iOS main函数讲解
    iOS 邓白氏编码的申请
    iOS 开发与H5交互(JavaScriptCore框架的使用)
    iOS 开发之RunLoop
    iOS 蓝牙开发之(CoreBlueTooth)
  • 原文地址:https://www.cnblogs.com/1113127139aaa/p/9963317.html
Copyright © 2011-2022 走看看