久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

        手機站
        千鋒教育

        千鋒學習站 | 隨時隨地免費學

        千鋒教育

        掃一掃進入千鋒手機站

        領取全套視頻
        千鋒教育

        關注千鋒學習站小程序
        隨時隨地免費學習課程

        當前位置:首頁  >  技術干貨  > 數據分析系列Pandas之Series對象的創(chuàng)建、索引和切片

        數據分析系列Pandas之Series對象的創(chuàng)建、索引和切片

        來源:千鋒教育
        發(fā)布人:wjy
        時間: 2022-07-29 17:19:08 1659086348

          接下來幾周的文章我們會給大家主要介紹Pandas的使用,Pandas是一個Python 的包,提供快速、靈活和富有表現(xiàn)力的數據結構,旨在使"關系或標記數據的使用既簡單又直觀"。它的目標是成為用Python進行實際的、真實的數據分析的基礎高級模塊。

          **Pandas的數據結構**,分兩種:**Series**和**DataFrame**.

          > 1、Series 一維,帶標簽數組 Series的中文意思是序列,系列.

          > 2、DataFrame 二維,Series容器

          本篇文章主要介紹Series的使用。:

          #### Series簡介

          Serial對象本質上由兩個數組構成,一個數組構成對象的健(index,索引),一個數組構成對象的值(values).因此Series可以看作是鍵值對。Series是**帶標簽**的一維數組,可存儲整數、浮點數、字符串、Python 對象等類型的數據。軸標簽統(tǒng)稱為**索引,**它由兩部分組成**。**

          - values:一組數據(ndarray類型)

          - index:相關的數據索引標簽

          如圖:

        屏幕快照 2021-05-06 下午3.57.43

          特點:標簽(index)與數據(value)默認對齊,除非特殊情況,一般不會斷開連接,因此通過索引取值非常方便,不需要循環(huán),可以直接通過字典方式,key 獲取value.

          #### Series 創(chuàng)建的幾種方式

          創(chuàng)建Series對象使用Pandas中的Series,

          ```

          Series組成部分:pd.Series(data=None, index=None, dtype=None)

          其中參數:data參數支持多種數據類型,比如列表,字典等,index是一個可選參數表示索引標簽,通過dtype指定數據類型

          ```

          Series的創(chuàng)建方式有多種:

          > 1. 標量創(chuàng)建

          > 2. 列表創(chuàng)建

          > 3. numpy創(chuàng)建

          > 4. 字典創(chuàng)建

          **標量創(chuàng)建:**

          ```

          import numpy as np

          import pandas as pd

          tes = pd.Series(10,index=list('abcde'))

          tes

          ```

        屏幕快照 2021-05-06 下午4.12.11

          **列表創(chuàng)建**

          即已知一個list結構的數據,通過該數據創(chuàng)建Series對象。

          ```

          # lst = [11,0,3,7,9,19,4]

          # s = pd.Series(lst) # 默認隱式索引

          # s

          lst = [11,0,3,7,9,19,4]

          s = pd.Series(lst,index=["A","B","C","D","E","F","G"]) # 通過index設置顯式索引

          s

          ```

        屏幕快照 2021-05-06 下午4.25.27

          **numpy創(chuàng)建**

          即Series中傳入的是ndarray對象。

          ```

          # data = np.random.randint(0,100,size=(6,))

          # s = pd.Series(data=data)

          # s

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data,index=list('abcdef'))

          s

          ```

          結果:

        屏幕快照 2021-05-06 下午4.42.10

          **字典創(chuàng)建**

          ```

          dic = {"A":1,"B":2,"C":3,"D":2}

          s = pd.Series(dic) # 索引默認就是字典的key值

          s

          ```

          結果:

        屏幕快照 2021-05-06 下午4.45.04

          #### Series的索引和切片

          因為Series只有一列,因此一般只對行進行操作,索引分為隱式索引和顯示索引,因此不同的方式操作起來也不一樣。

          索引分別為哪些呢?

          > 1. 位置下標

          >

          > 2. 標簽索引

          > 3. 布爾型索引

          > 4. 切片索引

          位置下標:當使用默認值索引的時候,通常使用位置下標。類似列表的索引使用方式

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data)

          print(s[0])

          print(s[3])

          print(s[4])

          ```

        屏幕快照 2021-05-06 下午5.09.03

          標簽索引:類似字典通過key獲取value的方式,通常用在顯示索引的時候。

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data,index=list('abcdef'))

          print(s['a'])

          print(s['f'])

          print(s['c'])

          ```

        屏幕快照 2021-05-06 下午5.13.38

          布爾型索引: 通過一個布爾型的數組獲取Series對象中的值。

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data,index=list('abcdef'))

          print(s)

          s2 = s>50 # 獲取s中大于50的元素,結果會是一個bool類型的數組

          print(s2) # 打印s2得到的是一個bool類型的數組

          print(s[s2]) # 通過s2這個bool數組獲取s中的元素

          ```

          結果:

        屏幕快照 2021-05-06 下午5.23.01

          切片索引:即切片,類似列表的切片使用,但是又有所區(qū)別。

          隱式索引的使用:

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data)

          print(s)

          print(s[1:5])

          print(s[:4])

          print(s[2:])

          print(s[::2])

          ```

          結果:

        屏幕快照 2021-05-06 下午5.30.41

          當然也可以使用iloc完成Series對象中元素的獲取,使用方式如下:

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data)

          print(s.iloc[2]) # 指定下標

          print(s.iloc[1:3]) # 指定切片范圍

          ```

          結果:

        屏幕快照 2021-05-06 下午5.40.10

          顯示索引的切片使用

          ```

          data = np.random.randint(0,100,size=(6,))

          s = pd.Series(data=data,index=list('abcdef'))

          print(s)

          print(s['a':'d'])

          print(s['a':])

          print(s[:'f'])

          print(s[::2])

          ```

          結果:

        屏幕快照 2021-05-06 下午5.43.09

          顯示索引也可以使用loc的方式獲取元素

          ```

          print(s.loc['a':'e'])

          print(s.loc[['a','c','f']])

          ```

          結果:

        屏幕快照 2021-05-06 下午5.52.37

          總結:

          1. **Series的索引和切片只針對行而言,因為它只有一列**

          2. **loc是對于顯式索引的相關操作(對于標簽的處理),iloc是針對隱式索引的相關操作(對于整數的處理)。**

          3. **我們發(fā)現(xiàn)其實s[0:2] 與 s.iloc[0:2]沒有太大差別(顯式索引也是一樣),這并不說明iloc就沒有用,個人覺得它更有意義的是在DataFrame當中使用**

          #### Series的基本使用

          **顯示Series部分數據內容**

          **s.head(n)** 該函數代表的意思是顯示前多少行,可以指定顯示的行數,不寫n默認是前5行

          **s.tail(n)** 該函數代表的意思是顯示后多少行,可以指定顯示的行數,不寫n默認是前5行

          **s.unique()** 去除重復的值

          **s.notnull()** 不為空返回True,為空返回False

          **s.isnull()** 不為空返回False,為空返回True

          ```text

          lst = [1,3,5,6,10,23]

          s1 = pd.Series(lst,index=["A","B","C","D","E","F"])

          print(s1.head()) # 獲取前5行

          print(s1.tail()) # 獲取后5行

          print(s1.unique()) # 去除重復的值

          s1['D']=None # 修改D索引對應的值為None

          print(s1.isnull()) # 判斷是否有空值

          print(s1.notnull()) # 判斷是否有非空值

          ```

          結果:

        屏幕快照 2021-05-06 下午5.59.48

        tags:
        聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
        10年以上業(yè)內強師集結,手把手帶你蛻變精英
        請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
        免費領取
        今日已有369人領取成功
        劉同學 138****2860 剛剛成功領取
        王同學 131****2015 剛剛成功領取
        張同學 133****4652 剛剛成功領取
        李同學 135****8607 剛剛成功領取
        楊同學 132****5667 剛剛成功領取
        岳同學 134****6652 剛剛成功領取
        梁同學 157****2950 剛剛成功領取
        劉同學 189****1015 剛剛成功領取
        張同學 155****4678 剛剛成功領取
        鄒同學 139****2907 剛剛成功領取
        董同學 138****2867 剛剛成功領取
        周同學 136****3602 剛剛成功領取
        相關推薦HOT
        海兴县| 浦北县| 庆元县| 林甸县| 隆昌县| 阿克陶县| 东乌珠穆沁旗| 综艺| 南宫市| 霍山县| 丽水市| 安义县| 永修县| 五寨县| 平舆县| 莫力| 岳阳县| 土默特右旗| 栾川县| 河南省| 湖州市| 瑞金市| 哈尔滨市| 弥勒县| 稷山县| 峡江县| 丰顺县| 久治县| 乌鲁木齐县| 贵南县| 永城市| 靖安县| 普陀区| 蓝田县| 扶风县| 福建省| 涞水县| 荣昌县| 平乡县| 寿光市| 大英县|