zoukankan      html  css  js  c++  java
  • 数据分析学习笔记2-----pandas

    要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrame。

    1.Series

    Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成

    In [11]: obj = pd.Series([4, 7, -5, 3])
    
    In [12]: obj
    Out[12]: 
    0    4
    1    7
    2   -5
    3    3
    dtype: int64
    In [15]: obj2 = pd.Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
    
    In [16]: obj2
    Out[16]: 
    d    4
    b    7
    a   -5
    c    3
    dtype: int64
    
    In [17]: obj2.index
    Out[17]: Index(['d', 'b', 'a', 'c'], dtype='object')

    2.DataFrame

    DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。

    data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
            'year': [2000, 2001, 2002, 2001, 2002, 2003],
            'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
    frame = pd.DataFrame(data)
    
    In [45]: frame
    Out[45]: 
       pop   state  year
    0  1.5    Ohio  2000
    1  1.7    Ohio  2001
    2  3.6    Ohio  2002
    3  2.4  Nevada  2001
    4  2.9  Nevada  2002
    5  3.2  Nevada  2003

    如果指定了列序列,则DataFrame的列就会按照指定顺序进行排列.

    In [47]: pd.DataFrame(data, columns=['year', 'state', 'pop'])
    Out[47]: 
       year   state  pop
    0  2000    Ohio  1.5
    1  2001    Ohio  1.7
    2  2002    Ohio  3.6
    3  2001  Nevada  2.4
    4  2002  Nevada  2.9
    5  2003  Nevada  3.2

    如果嵌套字典传给DataFrame,pandas就会被解释为:外层字典的键作为列,内层键则作为行索引

    In [66]: frame3 = pd.DataFrame(pop)
    
    In [67]: frame3
    Out[67]: 
          Nevada  Ohio
    2000     NaN   1.5
    2001     2.4   1.7
    2002     2.9   3.6

    索引对象

    pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。

    In [76]: obj = pd.Series(range(3), index=['a', 'b', 'c'])
    
    In [77]: index = obj.index
    
    In [78]: index
    Out[78]: Index(['a', 'b', 'c'], dtype='object')
    
    In [79]: index[1:]
    Out[79]: Index(['b', 'c'], dtype='object')
  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/helloluo/p/9689640.html
Copyright © 2011-2022 走看看