在資料開發最經常會用到將最近幾個值相加、求平均等操作,類似sql的group by,在dataframe中使用rolling操作簡單、計算效率高
官方文件鏈結
dataframe.rolling(window, min_periods=
none
, center=
false
, win_type=
none
, on=
none
, axis=
0, closed=
none
)
引數說明:
示例**:
# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
# 建立df
df = pd.dataframe(np.random.randint(
5, size=(10
,2))
, index=pd.date_range(
'1/1/2020'
, periods=10)
, columns=
['a'
,'b'])
# 將b列最近2個值相加並生成新列
df['c'
]= df[
'b']
.rolling(window=2)
.sum()
# 將b列最近5個值相加並生成新列
df['d'
]= df[
'b']
.rolling(window=5)
.sum()
# 將b列最近2個值求平均並生成新列
df['e'
]= df[
'b']
.rolling(window=2)
.mean(
)# 將b列最近5個值求平均並生成新列
df['f'
]= df[
'b']
.rolling(window=5)
.mean(
)print
(df)
輸出結果:
a b c d e f
2020-01
-0140 nan nan nan nan
2020-01
-0241
1.0 nan 0.5 nan
2020-01
-0314
5.0 nan 2.5 nan
2020-01
-0422
6.0 nan 3.0 nan
2020-01
-0501
3.08.0
1.51.6
2020-01
-0621
2.09.0
1.01.8
2020-01
-0741
2.09.0
1.01.8
2020-01
-0830
1.05.0
0.51.0
2020-01
-0934
4.07.0
2.01.4
2020-01
-1033
7.09.0
3.51.8
常用聚合函式: hive視窗函式 Hive sql視窗函式原始碼分析
在了解了視窗函式實現原理 spark hive中視窗函式實現原理覆盤 和 sparksql比hivesql優化的點 視窗函式 之後,今天又擼了一遍hive sql 中視窗函式的原始碼實現,寫個筆記記錄一下。簡單來說,視窗查詢有兩個步驟 將記錄分割成多個分割槽 然後在各個分割槽上呼叫視窗函式。傳統的 ...
DataFrame 6 自定義函式
如果想要應用自定義的函式,或者把其他庫中的函式應用到 pandas 物件中,有以下三種方法 如何從上述函式中選擇適合的函式,這取決於函式的操作物件。下面介紹了三種方法的使用。通過給 pipe 函式傳遞乙個自定義函式和適當數量的引數值,從而操作 datafrme 中的所有元素。下面示例,實現了資料表中...
視窗過程函式
lresult callback wndproc hwnd hwnd,uint message,wparam wparam,lparam lparam 這個視窗過程函式命名為wndproc,視窗過程可任意命名 只要不和其他名字發生衝突 另外乙個windows程式可以包含多個視窗過程。乙個視窗過程總是...