zoukankan      html  css  js  c++  java
  • Pandas的三个基本数据结构Series,DataFrame,Index

    1.Series

      Pandas的Series对象是一个带索引数据构成的一维数组

      1)用一个数组创建Series对象

    In [1]: import numpy as np
    
    In [2]: import pandas as pd
    
    In [3]: data = pd.Series([0.25,0.5,0.75,1.0])
    
    In [4]: data
    Out[4]: 
    0    0.25
    1    0.50
    2    0.75
    3    1.00
    dtype: float64

      2)通过values和index属性获取数据

    # values属性返回的结果与Numpy数组类似
    In [5]: data.values
    Out[5]: array([0.25, 0.5 , 0.75, 1.  ])
    
    # index属性返回的结果是一个类型为pd.index的类数组对象
    In [6]: data.index
    Out[6]: RangeIndex(start=0, stop=4, step=1)

      3)和Numpy数组一样,数据可以通过Python中的括号索引标签获取

    In [7]: data[1]
    Out[7]: 0.5
    
    In [8]: data[1:3]
    Out[8]: 
    1    0.50
    2    0.75
    dtype: float64

      4)对于Series对象的index,默认值为整数序列

    In [9]: pd.Series([2,4,6])
    Out[9]: 
    0    2
    1    4
    2    6
    dtype: int64

      5)data还可以是一个标量,创建Series对象时会重复填充到每个索引上

    In [10]: pd.Series(5, index=[100, 200, 300])
    Out[10]: 
    100    5
    200    5
    300    5
    dtype: int64

     2.DataFrame

      理解:如果将Series类比为带灵活索引的一维数组,那么DataFrame就可以看作是一种既有灵活的行索引,又有灵活列名的二维数组,也可以把DataFrame看成是有序列排列的若干Series对象,这里的'排列'指的是它们拥有共同的索引

      创建DataFrame:

      *通过单个Series对象创建

      *通过字典列表创建

    In [13]: data = [{'a':i,'b':2 * i} for i in range(3)]
    
    In [14]: pd.DataFrame(data)
    Out[14]: 
       a  b
    0  0  0
    1  1  2
    2  2  4

      *通过Numpy二维数组创建

    In [17]: pd.DataFrame(np.random.rand(3,2),columns=['foo','bar'],index=['a','b','c'])
    Out[17]: 
            foo       bar
    a  0.849243  0.390653
    b  0.411107  0.005731
    c  0.517257  0.545708

    3.Index

      理解:可以将它看作一个不可变数组或有序集合(实际上是一个多集,因为Index对象可能会包含重复值)

      Index对象遵循Python标准库的集合(set)数据结构的许多习惯用法,包括并集,交集,差集

  • 相关阅读:
    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
    SpringCloud-技术专区-SSO单点登录之OAuth2.0登录认证云架构
    CAS实现单点登录原理
    CAS实现SSO单点登录原理
    使用Mmap系统调用进行硬件地址访问
    驱动阻塞模型
    Altium Designer如何批量修改名称,数值,封装
    驱动接口函数调用过程
    基本驱动模型
    从linux和ucos的比较中来看进程这个概念
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9445087.html
Copyright © 2011-2022 走看看