iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
佛心分享-讓我升級的那些書

菜雞學習 pandas 的 30 日讀書分享系列 第 7

菜雞學習 pandas 的 30 日讀書分享【Day 7】Series (上)

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20250805/20168290PlUNAmhc1O.jpg

Series (上)

接續上次的內容,Series 也可以視為一個長度固定且有序的字典,因為它儲存索引值和資料值的對映關係,它可以在許多適合使用字典的情況下使用:

In [28]: "b" in obj2
Out[28]: True

In [29]: "e" in obj2
Out[29]: False

如果使用 Python 字典來儲存資料,可以藉由傳入字典來建立一個 Series:

In [30]: sdata = {"Ohio": 35000, "Texas": 71000, "Oregon": 16000, "Utah": 5000}

In [31]: obj3 = pd.Series(sdata) 

In [32]: obj3
Out[32]:
    
Ohio   35000
Texas  71000
Oregon 16000
Utah    5000
dtype: int64

使用 to_dict 方法可以將 Series 轉換回字典:

In [33]: obj3.to_dict()
Out[33]: {"Ohio": 35000, "Texas": 71000, "Oregon": 16000, "Utah": 5000}

僅傳入字典產生的 Series 的索引順序將語字典的 Keys 方法所顯示的索引鍵順序相同,後者取決於索引鍵被插入的順序。你可以改變這個順序,做法是傳入一個 index,指定想在 Series 裡看到的字典鍵順序:

In [34]: states = ["California", "Ohio", "Oregon", "Texas"]

In [35]: obj4 = pd.Series(sdata, index=states)

In [36]: obj4
Out[36]:
California        NaN
Ohio          35000.0
Oregon        16000.0
Texas         71000.0
dtype: float64

因為 California 的值找不到,所以被顯示成 NaN (Not a Number),pandas 用來表示缺失值,因為 Utah 不在 states 裡,所以產生的物件沒有它。

在 pandas 裡,可以使用 isnanotna 來檢測缺失值。

In [37]: pd.isna(obj4)
Out[37]:
California     True
Ohio          False
Oregon        False
Texas         False
dtype: bool

In [38]: pd.notna(obj4)
Out[38]:
California    False
Ohio           True
Oregon         True
Texas          True
dtype: bool

今日的分享就到這囉,我們明天見,掰掰!


上一篇
菜雞學習 pandas 的 30 日讀書分享【Day 6】資料結構
下一篇
菜雞學習 pandas 的 30 日讀書分享【Day 8】Series (下)
系列文
菜雞學習 pandas 的 30 日讀書分享30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言