0
我有一個反覆出現的問題,其中有一些列是角度而其他不是的數據框,我想重新採樣,以便正確計算平均值每種類型。下面是一個小例子:重新採樣熊貓框架的功能取決於列
import pandas as pd
import numpy as np
def angleMean(x):
d2r = np.pi/180.
cosMean = np.mean(np.cos(x * d2r))
sinMean = np.mean(np.sin(x * d2r))
return np.arctan2(sinMean,cosMean)/d2r
# Define data fame
t = pd.date_range("00:00", "3:00", freq="30min")
df = pd.DataFrame({'t':t,'x':[350.,0.,2.,4.,6.,8.,10.],'theta':[350.,0.,2.,4.,6.,8.,10.]}).set_index('t')
# Using normal mean
print df.resample('1H').mean()
# Using angular mean
print df.resample('1H').apply(angleMean)
上面的例子顯示了應用於所有列的平均類型以獲得重採樣。
有沒有一種好方法可以定義一個函數,該函數使用列名來確定適用於每列的正確平均值?
因此,換句話說,你想「專注」,像'angleMean(X,列)',其中代碼根據它所應用的'column',內部運行會有所不同? – mkos