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