Pandas: Series的使用


Series的使用:
1. Series的简单使用

    data = pd.Series([0.25, 0.5, 0.75, 1.0])
    print(data)
    print(data.values)
    print(data.index)
    print(data[1])
    print(data[1:3])

 

2. Series对象与Numpy数组的不同之处

    # 2.1 索引可以是任意类型
    data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a', 'b', 'c', 'd'])
    print(data['b'])
    print(data["a": "c"])
    # 2.2 索引可以不是连续的、可以不按顺序
    data = pd.Series([0.25, 0.5, 0.75, 1.0], index=[2, 3, 5, 7])
    print(data)
    print(data[5])

    # 2.3 可以将series看做是特殊的字典
    population_dict = {
        "California": 3833251,
        "Texas": 26448193,
        "New York": 19651127,
        "Florida": 19552860,
        "Illinois": 12882135
    }
    population = pd.Series(population_dict)
    print(population)
    # 像字典一样获取数据
    print(population['California'])
    # 也支持像list一样的切片
    print(population["California": "Illinois"])

3. 创建Series对象:
     

    # 3.创建Series对象
    # 创建形式: pd.Series(data, index=index)
    # 3.1 data: 列表或者numpy数组, index默认是整数序列
    data = pd.Series([2, 4, 6])
    print(data)
    # 3.2 data是一个标量, 会按照index的数量重复填充
    data = pd.Series(5, index=[100, 200, 300])
    print(data)
    # 3.3 data是一个字典,index默认是字典的键
    data = pd.Series({2: 'a', 1: 'b', 3: 'c'})
    print(data)
    # 可以通过显示指定索引,来筛选用于创建Series的数据, 创建时只会保留显示指定索引的键值对
    data = pd.Series({2: 'a', 1: 'b', 3: 'c'}, index=[3, 2])
    print(data)

4. Series对象的数据选择方法
    

    # 4. Series数据选择方法
    data = pd.Series([0.25, 0.5, 0.75, 1.0], index=list('abcd'))
    print(data)
    # 4.1 Series对象提供了键值对的映射, 可以像字典一样使用
    print(data['b'])
    print('a' in data)
    print(data.keys())
    print(list(data.items()))
    # 使用字典类似的语法调整数据
    data['e'] = 1.25
    print(data)
 
    # 4.2 将Series对象看做是一堆数组
    # 显式索引作为切片: 含头含尾
    print(data['a': 'c'])
    # 隐式索引作为切片: 含头不含尾
    print(data[0:2])
 
    # 掩码 位运算的方式
    print(data[(data > 0.3) & (data < 0.8)])
 
    # 指定索引列表
    print(data[['a', 'e']])
 
    # 4.3 索引器: loc, iloc, ix
    data = pd.Series(['a', 'b', 'c'], index=[1, 3, 5])
    print(data)
    # 当显式索引和隐式索引都是整数时
    # 取值操作是显式索引
    print(data[1])
    # 切片操作时隐式索引
    print(data[1:3])
 
    # 上述这两种操作,很容易会混淆,loc和iloc就可以解决这个问题
    # loc和iloc不是Series对象的函数方法,只是暴露了切片接口的属性
 
    # 4.3.1 loc, 表示取值和切片都是显式的
    print(data.loc[1])
    print(data.loc[1:3])
    # 4.3.2 iloc, 表示取值和切片都是隐式的
    print(data.iloc[1])
    print(data.iloc[1:3])
    # 4.3.3 ix等价于标准python列表[]式的取值方式
    print(data.ix[1])
    print(data.ix[1:3])
    print(data[1:3])

5. Series对象的一些特性
     

    # 5. Series的一些特性
    # 5.1 矢量化操作
    s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
    print(s + s)
    print(s * 2)
    print(np.exp(s))
 
    # 5.2 标签对齐
    print(s[:-1] + s[1:])

 



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM