美文网首页
5.2 Series对象

5.2 Series对象

作者: 操作系统 | 来源:发表于2017-04-10 10:30 被阅读0次

    5.2.1 Series介绍

    Series是一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
    Series对象除了支持使用位置作为下标存取元素之外,还可以使用索引标签作为下标存取元素,这个功能与Python的字典(dictionary)对象类似。

    5.2.2 创建Series对象

    下面创建一个Series对象,示例代码:

    import pandas as pd
    s = pd.Series([1, 2, 3, 4, 5], index=["a", "b",  "c" , "d", "e"])
    print(s)
    

    运行结果:

    a    1
    b    2
    c    3
    d    4
    e    5
    dtype: int64
    

    Series的字符串表现形式为:索引在左边,值在右边。以上代码是在创建Series的时候为值直接创建索引。当我们没有为数据指定索引时,Series会自动创建一个0到N-1(N为数据长度)的整数型索引。示例代码:

    s2 = pd.Series([4, 7, -5, 3])
    print(s2)
    

    运行结果:

    0    4
    1    7
    2   -5
    3    3
    dtype: int64
    

    此外,我们也可以通过字典的形式来创建Series,示例代码:

    sdata={'ohio':3500, 'Texas':7100, 'oregon':1600, 'utah':500}
    s3 = pd.Series(sdata)
    print(s3)
    

    运行结果:

    Texas     7100
    ohio      3500
    oregon    1600
    utah       500
    dtype: int64
    

    5.2.3 Series对象的属性

    每个Series对象包含两个属性,index和values。
    index:它是从ndarray数组继承的Index索引对象,保存标签信息。若创建Series对象不指定index,将自动创建一个表示位置下标的索引。
    values:保存元素值的ndarray数组,NumPy的函数都对此数组进行处理。
    可以通过Series的values和index属性获取其数组的值和对应的属性。示例代码:

    s4 = pd.Series([6, 8, 7, 9])
    print(s4.values)
    print(s4.index)
    

    运行结果:

    [6 8 7 9]
    RangeIndex(start=0, stop=4, step=1)
    

    5.2.4 Series对象元素的存取

    Series对象与NumPy的ndarray数组类似,可以通过下标获取元素值,此外Series下标运算同时支持位置和标签两种形式,示例代码:

    print("位置下标 s[2]:",s[2])
    print("标签下标 s['d']:",s['d'])
    

    运行结果:

    位置下标 s[2]: 3
    标签下标 s['d']: 4
    

    Series对象还支持位置切片和标签切片。位置切片遵循Python切片规则,包括起始位置,但不包括结束位置;但标签切片则同时包括起始标签和结束标签。示例代码:

    print(s[1:3])
    print(s['b' : 'd'])
    

    运行结果:

    b    2
    c    3
    dtype: int64
    b    2
    c    3
    d    4
    dtype: int64
    

    和NumPy的ndarray数组一样,还可以使用位置列表或位置数组存取元素,同样也可以使用标签列表和标签数组。示例代码;

    print(s[[1, 3, 2]])
    print(s[['b', 'd', 'c']])
    

    运行结果:

    b    2
    d    4
    c    3
    dtype: int64
    b    2
    d    4
    c    3
    dtype: int64
    

    相关文章

      网友评论

          本文标题:5.2 Series对象

          本文链接:https://www.haomeiwen.com/subject/zralattx.html