Python教程:shift函数实现数据偏移的方法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Python教程:shift函数实现数据偏移的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                一、背景
當需要統計不同周期的變化情況時,需要使用數據偏移,在 Python 中使用 shift 函數實現。
# 一階差分 diff_num = num - num.shift(1)二、實現
1.創建測試表
import pandas as pddic = {'id':[1,2,2,3,3,3],'num':[4,2,7,10,5,5] }data = pd.DataFrame(dic) print(data) --------------------------------id num 0 1 4 1 2 2 2 2 7 3 3 10 4 3 5 5 3 52.分析
- 新增一列存儲每個id上一周期數量
 - 將兩列做差即可
 
3.shift函數
通過 shift 函數實現數據的上下偏移,使用語法:
df.shift(periods=1, freq=None, axis=0)- periods 偏移的幅度(正值表示下、右編譯,負值表示上、左偏移)
 - freq 適用于時間索引的偏移 值不發生變化
 - axis 軸向指定(axis=0表示縱向偏移,axis=1表示橫向偏移,默認縱向)
 
4.實例
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 所有字段向下偏移一行 data.shift(1) -----------------------id num 0 NaN NaN 1 1.0 4.0 2 2.0 2.0 3 2.0 7.0 4 3.0 10.0 5 3.0 5.0 ------------------------# 所有字段向上偏移一行 data.shift(-1) -----------------------id num 0 2.0 2.0 1 2.0 7.0 2 3.0 10.0 3 3.0 5.0 4 3.0 5.0 5 NaN NaN ---------------------# 所有字段向右偏移一列 data.shift(1, axis=1) --------------------id num 0 NaN 1.0 1 NaN 2.0 2 NaN 2.0 3 NaN 3.0 4 NaN 3.0 5 NaN 3.0 ------------------- # 所有字段向左偏移一列 data.shift(-1, axis=1) -------------------id num 0 4.0 NaN 1 2.0 NaN 2 7.0 NaN 3 10.0 NaN 4 5.0 NaN 5 5.0 NaN ---------------- # 全部偏移 data["last_num"] = data["num"] data["last_num"] = data["last_num"].shift(1).fillna(0) ------------------------------id num last_num 0 1 4 0.0 1 2 2 4.0 2 2 7 2.0 3 3 10 7.0 4 3 5 10.0 5 3 5 5.0 ----------------------------# 按id分組偏移 data["last_num"] = data.groupby("id")["num"].shift(1).fillna(0) data["diff_num"] = data["num"] - data["last_num"] ---------------------------id num last_num diff_num 0 1 4 0.0 4.0 1 2 2 0.0 2.0 2 2 7 2.0 5.0 3 3 10 0.0 10.0 4 3 5 10.0 -5.0 5 3 5 5.0 0.0結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
 https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web
Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者
 https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web
總結
以上是生活随笔為你收集整理的Python教程:shift函数实现数据偏移的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Python字符串前加f、r、b、u的不
 - 下一篇: 通过Python实现某个目录下所有文件(