Python學習筆記 shift函式實現資料偏移

2022-09-04 15:03:25 字數 2041 閱讀 9898

當需要統計不同週期的變化情況時,需要使用資料偏移,在python中使用shift函式實現。

# 一階差分

diff_num = num - num.shift(1)

import pandas as pd

dic =

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 5

```

通過shift函式實現資料的上下偏移,使用語法:

df.shift(periods=1, freq=none, axis=0)
# 所有字段向下偏移一行

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

```

Shift 後門 簡單學習

提出問題 整個過程並不複雜,但要實現攻擊的前提條件,是已經打入目標主機,將c windows system32 sethc.exe替換成c windows system32 cmd.exe,所以這一步到底要如何做到?就是windows系統自帶的 5次shift鍵強制開啟c windows syste...

python對列進行平移變換 shift

在進行資料操作時,經常會碰到基於同一列進行錯位相加減的操作,即對某一列進行向上或向下平移 shift 往常,我們都會使用迴圈進行操作,但經過查閱相關資料,發現結合pandas裡的groupby和shift兩個函式就能輕鬆實現上述要求.建立樣例資料 temp pd.dataframe tempout ...

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...