1
是否有一些內建聚合到Pandas(或NumPy?)我可以使用下面的***
標記的優化線?利用內置的Pandas進行聚合
>>> import numpy as np
>>> import pandas as pd
>>>
>>> df = pd.DataFrame({'A':[1,21,4,5,3,3,5,653,2], 'B':[1,2,3,4,5,6,7,8,9]})
>>> steps = 3
>>>
>>> values = df.iloc[:,0]
>>> current = values[-steps:]
>>> old = values[:-steps]
*** >>> mean = np.array([old[i::steps].mean() for i in range(steps)]) ***
>>> df.iloc[-steps:,0] = current - mean
>>> df1 = df.iloc[-steps:]
>>> df1
A B
6 2.0 7
7 641.0 8
8 -1.5 9
美麗的解決方案,正是我一直在尋找! –
當形狀不容易被'steps'分割時,我得到一個錯誤'ValueError:can not reshape array of size 3025 into shape(1008)'。你知道一個簡單的方法來將我的數組與第一個值相加,直到我得到它的「steps」對齊嗎? –
@JonasByström爲此添加了一個解決方案。還有其他的方法,但貼出來的似乎是處理這些案件的最短時間。 – Divakar