1. <em id="yud1w"><acronym id="yud1w"><u id="yud1w"></u></acronym></em>
      
      
      <button id="yud1w"></button>

      python

      当前位置:首页?>?Pandas教程?>?当前文章

      Pandas教程

      Series创建,name,index(索引),values(值),dtype等属性

      2020-11-17 149赞 python中国网
      每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

        数组:

        数组的概念可以看做是一群数据的集合,有点类似python的列表、元组,但是并不相同。在pandas中提到数组一般指的是ndarray(numpy中的数组)

        Series数据结构

        1、Series是一个一维数组(带有索引,索引可以为数值也可以为标签(比如a、b、c)),能够保存任何数据类型(整数、字符串、浮点数、Python对象等)。

        2、Series和DataFrame都有索引,只不过DataFrame同时有列和行索引。

        3、Series相比ndarray多了一个索引,相当于一位数组+索引。

        4、Series和dict相比,Series更像有顺序的字典,其中字典的key就是索引,索引可以是数字也可以是字母。

        5、Series有索引,也有name属性(可以理解为excel的一列的表头)

        6、只看Series的值,就是ndarray数组


        Series创建(通过字典、数组、标量):

        1、通过字典创建,字典的键就是索引,值就是值。也可以人为指定了index(索引),如果指定的index没有对应的值,那么就会用缺失值(空值)替代。

      # -*- coding: utf-8 -*-
      
      import pandas as pd
      
      
      # 通过dict创建
      d = {'A': 1, 'B': 0, 'C': 2}
      s = pd.Series(d)
      print(s)
      print('==================')
      s2 = pd.Series(d, index=['A', 'B', 'c', 'd'])
      print(s2)
      
      
      A    1
      B    0
      C    2
      dtype: int64
      ==================
      A    1.0
      B    0.0
      c    NaN
      d    NaN
      dtype: float64
      
      

        2、通过数组(np数组、列表、元组等)创建

      # -*- coding: utf-8 -*-
      
      import pandas as pd
      import numpy as np
      
      # 通过数组创建
      arr = np.random.rand(5)
      s = pd.Series(arr)
      print(s)
      print('============')
      s2 = pd.Series(arr,index=['a','b',3,4,1])
      print(s2)
      
      0    0.543199
      1    0.261755
      2    0.464825
      3    0.119778
      4    0.436607
      dtype: float64
      ============
      a    0.543199
      b    0.261755
      3    0.464825
      4    0.119778
      1    0.436607
      dtype: float64
      
      

        3、通过标量创建

        index索引值可以出现相同的,但是应避免这样

      # -*- coding: utf-8 -*-
      
      import pandas as pd
      import numpy as np
      
      # 通过标量创建
      s = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'])
      print(s)
      
      a    5.0
      b    5.0
      c    5.0
      d    5.0
      e    5.0
      dtype: float64
      
      

        name属性及rename方法:

        1、Series的name属性(相当于excel的一列添加了表头名)

        2、rename方法修改name

      # -*- coding: utf-8 -*-
      
      import pandas as pd
      import numpy as np
      
      # 通过标量创建
      s = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'],name = '高度')
      print(s)
      print('-----------')
      s.name = '长度'
      print(s)
      print('-----------')
      s = s.rename('宽度')
      print(s)
      
      a    5.0
      b    5.0
      c    5.0
      d    5.0
      e    5.0
      Name: 高度, dtype: float64
      -----------
      a    5.0
      b    5.0
      c    5.0
      d    5.0
      e    5.0
      Name: 长度, dtype: float64
      -----------
      a    5.0
      b    5.0
      c    5.0
      d    5.0
      e    5.0
      Name: 宽度, dtype: float64
      
      

        Series的index属性(获取索引)、values属性(获取值)

      # -*- coding: utf-8 -*-
      
      import numpy as np
      import pandas as pd
      
      arr = np.random.rand(3)
      s = pd.Series(arr)
      print('s的索引',s.index,type(s.index))
      print('把s索引变为列表',list(s.index))
      print('s的值',s.values,type(s.values))
      print('把s的值变为列表',list(s.values))
      
      s的索引 RangeIndex(start=0, stop=3, step=1) <class 'pandas.core.indexes.range.RangeIndex'>
      把s索引变为列表 [0, 1, 2]
      s的值 [0.86401824 0.86229577 0.4742213 ] <class 'numpy.ndarray'>
      把s的值变为列表 [0.8640182359257331, 0.8622957709758832, 0.4742213037368106]
      

        我们来综合看一下series的常见属性,其中dtype和dtypes相对比较复杂,我们后面会专门解释:

      1 axes 返回行轴标签列表。
      2 dtype 返回对象的数据类型(dtype)。
      3 dtypes 返回对象的数据类型(dtypes)。
      4 empty 如果系列为空,则返回True。
      5 ndim 返回底层数据的维数,默认定义:1。
      6 size 返回基础数据中的元素数。
      7 values 将系列作为ndarray返回。
      8 head() 返回前n行。
      9 tail() 返回最后n行。

      文章评论

      Series创建,name,index(索引),values(值),dtype等属性文章写得不错,值得赞赏
      国产99视频精品免视看6