zoukankan      html  css  js  c++  java
  • 一、Pandas基础:Series

    一、Series简介

    • Series是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。

    二、Series创建

    • Series通过numpy数组,列表及字典等多重方式进行创建
    • 当使用字典创建时,Series会使用字典的键作为数组的索引值
    • 当使用numpy和列表创建时,Series会以它们的序列号作为索引值,可用index参数自定义索引值
    • Series数组创建后,可以通过.index属性重建索引值
    import pandas as pd
    a=pd.Series([87,95,84])
    print("列表方式(默认索引):
    ",a)
    b=pd.Series([87,95,84],index=['小红','小兰','小绿'])
    print("列表方式(自定义索引):
    ",b)
    c=pd.Series({'小红':87,'小兰':95,'小绿':84})
    print("字典方式:
    ",c)
    a.index=(['小红','小兰','小绿'])
    print("对a重建索引:
    ",a)
    >>>
    列表方式(默认索引):
    0    87
    1    95
    2    84
    dtype: int64
    列表方式(自定义索引):
    小红    87
    小兰    95
    小绿    84
    dtype: int64
    字典方式:
    小兰    95
    小红    87
    小绿    84
    dtype: int64
    对a重建索引:
    小红    87
    小兰    95
    小绿    84
    dtype: int64
    

    三、Series查询

    四、Series运算

    • 同样的,Series保留了大量Numpy的运算机制,它们在Series中均可以使用。
    • Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。
    • 在操作Series的时候,基本上可以把Series看成NumPy中的ndarray数组来进行操作。(看Numpy运算方法的,点击这里

     五、缺失值检测

    • pandas中的isnull和notnull两个函数可以用于在Series中检测缺失值,这两个函数的返回时一个布尔类型的Series
    import pandas as pd
    a = pd.Series({'小红': 87, '小兰': 95, '小绿': 84, '小英': 99})
    new_index = ['小红', '小兰', '小丸子', '小绿', '小英']
    a = pd.Series(a, index=new_index)
    print("带缺失值的数组:
    ", a)
    print("列出缺失值项:
    ", a[pd.isnull(a)])
    print("列出有效值项:
    ", a[pd.notnull(a)])
    >>>
    带缺失值的数组:
    小红     87.0
    小兰     95.0
    小丸子     NaN
    小绿     84.0
    小英     99.0
    dtype: float64
    列出缺失值项:
    小丸子   NaN
    dtype: float64
    列出有效值项:
    小红    87.0
    小兰    95.0
    小绿    84.0
    小英    99.0
    dtype: float64
    

      

    六、自动对齐

    • 当多个series对象之间进行运算的时候,如果不同series之间具有不同的索引值,那么运算会自动对齐不同索引值的数据,如果某个series没有某个索引值,那么最终结果会赋值为NaN。
    import pandas as pd
    a = pd.Series([12, 23, 34], index=['p1', 'p2', 'p3'])
    b = pd.Series([56, 78, 90, 38], index=['p2', 'p3', 'p4', 'p5'])
    print("自动对齐索引,对不上的赋值NaN:
    ", a + b)
    >>>
    自动对齐索引,对不上的赋值NaN:
    p1      NaN
    p2     79.0
    p3    112.0
    p4      NaN
    p5      NaN
    dtype: float64
    

    七、数组名称

    • Series对象本身以及索引都具有一个name属性,默认为空,根据需要可以进行赋值操作。
    import pandas as pd
    a = pd.Series({'小红': 87, '小兰': 95, '小绿': 84, '小英': 99})
    a.values.name='成绩'
    a.name='考试成绩'
    a.index.name='姓名'
    print("补全名称的数组:
    ", a)
    >>>
    补全名称的数组:
    姓名
    小兰    95
    小红    87
    小绿    84
    小英    99
    Name: 考试成绩, dtype: int64
    

      

  • 相关阅读:
    多线程编程
    JQuery模板数据分组
    一些js的基本操作
    64位 ubuntu14 jdk1.7 编译 hadoop2.90 中遇到的一些问题回顾
    [错误]ClassLoaderReference class not found
    [java基础][字符串]由字符串常量池引发的思考
    my.ini修改后启动失败
    FastDFS是使用c语言编写的开源高性能分布式文件系统
    如何移除本地文件夹与Git的连接
    spring boot+mybatis plus出现Invalid bound statement (not found)
  • 原文地址:https://www.cnblogs.com/hezhefly/p/8283363.html
Copyright © 2011-2022 走看看