正如標題所說:
a = pd.DataFrame([1,2,3,4,5,6,7,8,9,10])
擁有一個包含 10 個值的資料框,我們想要聚合最后 5 行并將它們作為串列放入一個新列中:
>>> a new_col
0
0 1
1 2
2 3
3 4
4 5 [1,2,3,4,5]
5 6 [2,3,4,5,6]
6 7 [3,4,5,6,7]
7 8 [4,5,6,7,8]
8 9 [5,6,7,8,9]
9 10 [6,7,8,9,10]
如何?
uj5u.com熱心網友回復:
由于滾動視窗的實作方式,您將無法按預期聚合結果,但我們仍然可以通過迭代每個視窗并將值存盤為值串列來達到您想要的結果:
>>> new_col_values = [
window.to_list() if len(window) == 5 else None
for window in df["column"].rolling(5)
]
>>> df["new_col"] = new_col_values
>>> df
column new_col
0 1 None
1 2 None
2 3 None
3 4 None
4 5 [1, 2, 3, 4, 5]
5 6 [2, 3, 4, 5, 6]
6 7 [3, 4, 5, 6, 7]
7 8 [4, 5, 6, 7, 8]
8 9 [5, 6, 7, 8, 9]
9 10 [6, 7, 8, 9, 10]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431694.html
標籤:python-3.x 熊猫 数据框
上一篇:在ia列后綴后給出3列
下一篇:根據日期范圍選擇資料框中的行
