iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
AI & Data

時間管理大師-時間序列分析終極密技系列 第 16

[Day16]一葉落知千年秋-重量級資料分析工具,Pandas

  • 分享至 

  • xImage
  •  

Pandas

任何做過資料分析的工程師,都一定聽過鼎鼎大名的Pandas,Pandas對於處理大量的資料可以提供靈活性和高效能的特性,重點是操作人性化,可以把它想像成python版Excel,Pandas支援從各種文件格式(TXT 、CSV、JSON、SQL、Excel)來導入資料。Pandas有三種主要的類別,其中兩種我們特別常用,分別是Series(序列)和DataFrame(資料表),今天我們先從最基本也是最簡單的Series說起吧

Pandas序列-Series

安裝

請在終端機底下輸入這個,謝謝
pip install pandas

載入Pandas

老樣子,像這樣

import pandas as pd

如同numpy的簡稱,pd是世俗公認的pandas簡稱

Series建立

Series是Pandas最基礎的類別,簡單來說Series就是一條資料,他說一維的資料型態,長的像這樣
|索引|1|2|3|4|5|6|7|
|---|---|---|---|---|---|---|
|資料|33|23|66|11|35|42|88|
我們使用列表來建立Series

# 載入pandas
import pandas as pd

if __name__ == "__main__":
    # 以列表來建立Series
    l = [33, 23, 66, 11, 35, 42, 88]
    s = pd.Series(l)
    print(s)
    """
    印出
    0    33
    1    23
    2    66
    3    11
    4    35
    5    42
    6    88
    dtype: int64
    """

    # 存取
    print(s[4])
    # 印出 35

Series重要屬性

# 載入pandas
import pandas as pd

if __name__ == "__main__":
    # 以列表來建立Series
    l = [33, 23, 66, 11, 35, 42, 88]
    s = pd.Series(l)

    # 查看大小
    print(s.size)
    # 印出 7
    # 查看資料型態
    print(s.dtype)
    # 印出 int64
    # 查看資料形狀
    print(s.shape)
    # 印出 (7,)
    # 查看索引
    print(s.index)
    # 印出 RangeIndex(start=0, stop=7, step=1),傳回的物件RangeIndex可以視為下方的列表
    # [0, 1, 2, 3, 4, 5, 6],從0開始,到7停止,每個元素相差為1的列表,所以這的Series的索引就是0~6

Series重要方法

# 載入pandas
import pandas as pd

if __name__ == "__main__":
    # 以列表來建立Series
    l = [33, 23, 66, 11, 35, 42, 88]
    s = pd.Series(l)

    # 加總
    print(s.sum()) # 298
    # 最大值
    print(s.max()) # 88
    # 最小值
    print(s.min()) # 11
    # 連乘運算
    print(s.prod()) # 71281758240
    # 平均
    print(s.mean()) # 42.57142857142857
    # 中位數
    print(s.median()) # 35
    # 標準差
    print(s.std()) # 26.273288988737484
    # 找前n筆資料
    print(s.head(3))
    """
    0    33
    1    23
    2    66
    dtype: int64
    """
    # 找最大的n筆資料
    print(s.nlargest(3))
    """
    6    88
    2    66
    5    42
    dtype: int64
    """
    # 找最小的n筆資料
    print(s.nsmallest(3))
    """
    3    11
    1    23
    0    33
    dtype: int64
    """

自訂索引

# 載入pandas
import pandas as pd

if __name__ == "__main__":
    # 以列表來建立Series,索引為i
    l = [33, 23, 66, 11, 35, 42, 88]
    i = ["貓", "狗", "羊", "豬", "雞", "牛", "馬"]
    s = pd.Series(l, index = i)
    print(s)
    """
    貓    33
    狗    23
    羊    66
    豬    11
    雞    35
    牛    42
    馬    88
    dtype: int64
    """  
    print(s.index)
    # Index(['貓', '狗', '羊', '豬', '雞', '牛', '馬'], dtype='object')
    print(s["羊"])
    # 66

上一篇
[Day15]最是光陰化浮沫-真正的計算機,NumPy矩陣
下一篇
[Day17]時無重至,華不再陽-Pandas學徒級,DataFrame操作寶典第1卷
系列文
時間管理大師-時間序列分析終極密技30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言