iT邦幫忙

2025 iThome 鐵人賽

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

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

菜雞學習 pandas 的 30 日讀書分享【Day 16】reindex (重設索引) 下

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20250813/20168290xTVyiWU9io.jpg

reindex (重設索引) 下

可使用 columns 關鍵字來 reindex 直欄:

In [109]: state = ["Texas", "Utah", "California"]

In [110]: frame.reindex(columns=state)
Out[110]:
   Texas  Utah   California
a     1    NaN            2
c     4    NaN            5
d     7    NaN            8

因為 state 裡沒有 Ohio,所以結果不包含該欄的資料。
reindex 特定軸的另一種做法是用位置引數來傳入新軸的標籤,接著使用 axis 關鍵字指定 reindex 哪一軸:

In [111]: frame.reindex(states, axis="columns")
Out[111]:
   Texas  Utah  California
a      1   NaN           2
c      4   NaN           5
d      7   NaN           8

reindex 函式的引數

  • labels: 用來當成索引的新序列,可以是 Index 實例,或其他序列狀的 Python 資料結構。Index 會被完全按原樣使用,不做任何複製。
  • index: 使用傳入的序列作為新的索引標籤。
  • columns: 使用傳入的序列做為新的直欄標籤。
  • axis: 需要 reindex 的軸,可能是 index 或是 columns,預設為 index
  • method: 填值方法,ffill是填入上一個有效值,bill 是填入下一個有效值。
  • fill_value: 指定在重設索引時產生的缺失資料要換成甚麼值。
  • limit: 用上個或下個有效值來填補缺失值時,最多補上多少元素。
  • tolerance: 使用前個或是下個有效值時,若原始標籤與新標籤不相符,兩者之間容許的最大距離(數字差絕對值)
  • level: Index 值與傳入的 MultiIndex 階層做比較,否則選擇子集合。
  • copy: 若為 True,必定複製底下的資料,即使新索引與舊索引相同,若為 False,當索引相同時不複製資料。

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


上一篇
菜雞學習 pandas 的 30 日讀書分享【Day 15】reindex (重設索引) 上
下一篇
菜雞學習 pandas 的 30 日讀書分享【Day 17】從一軸移除項目
系列文
菜雞學習 pandas 的 30 日讀書分享30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言