数据分析入门——pandas之Series

1、介绍

  Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。python

  官方中文文档:https://www.pypandas.cn/docs/linux

  本次演示使用数据来自github:https://github.com/jakevdp/PythonDataScienceHandbook/tree/master/notebooks/datagit

2、快速入门

  1.导入github

  

  2.重点数据结构编程

    主要是series和dataframe数组

     因此通常状况下咱们导入的是数据分析的三剑客:数据结构

      numpy Series DataFrame:(若是只导入pd,那就正常使用pd.Series便可了)编程语言

from pandas import Series,DataFrame

3、Series

  Series是Pandas中的一维数据结构,相似于Python中的列表和Numpy中的Ndarray,不一样之处在于:Series是一维的,能存储不一样类型的数据,有一组索引与元素对应。也就是加了索引的一维数据结构(索引不必定是0 1 2 3的数字)函数

  

  1.建立工具

    1)经过列表或者numpy数组进行建立,默认索引是0 1 2 3这样的整数索引。示例如上图

      想要指定索引,能够设置index参数:(建立的时候指定也是能够的)

      

      特别地,使用ndarray建立的series是引用,对series的改变会影响ndarray

    2)由字典建立

      

     Series主要分为index、values两块

  2.索引和切片

    1).使用index做为索引值(不推荐)

    

    2)使用升级为Series以后的loc()函数(推荐)

       

    3)使用隐式索引(不显式指定索引的内容值,经过相似ndarray的索引风格取数据)

      

 

    4)切片,能够直接[]或者loc形式

      

  3.Series基本概念

    1)经常使用属性:index、values、shape(一维的,因此只能是一个元素的元组)、size

     2)能够经过head()、tail()等查看头部和尾部数据(相似linux的命令),只看前5个或者后5个

    3)索引没有对应的值时,值会出现NaN,也就是数据缺失的状况,在np中使用np.nan表示这个空值,python中就是None表示了

    4)可使用 isnull()、notnull()来检测空值:

    

    能够经过notnull()等进行空数据过滤:

s2 = s.notnull() # 如下取出的即是为True的非空数据
s[s2]

    5)每一个Series都有一个name属性,能够在DataFrame中进行区分,在df中,也就至关于列名

      

    6)Series运算

      能够正常的进行加减运算,其中None值不会参与计算,而ndarray值为None时为报错,为np.nan时计算结果为nan

      

      

 

 

 

      或者经过s1.add(10,fill_value= 0)等形式来控制NaN的默认值

      两个Series之间也能够运算,不对齐的部分(也就是索引不相等的部分),补充NaN

      

      要保留index不对齐的部分,可使用add()方法:,经过fill_value