0
我有以下的大熊貓dateframe數天的不同商品:大熊貓在指數每日期操作
df = pd.DataFrame([], columns=["Bid", "Ask"], index_col='tid')
填充的,它看起來如下:
2015-07-15 07:16:39.034 49.960 50.000
2015-08-12 07:16:39.235 49.958 49.998
我需要找到滾動平均每天。所以我提取日內如:
dates = set(df.index.map(pd.Timestamp.date))
然後我重複直通日期,並計算滾動平均值:
for d in dates:
df['rm200'] = np.round(pd.rolling_mean(df[d]['Bid'], window=200), 5)
這提供了以下錯誤:
KeyError: datetime.date(2015, 7, 15)
如果我添加str(d)本身:
df['rm200'] = np.round(pd.rolling_mean(df[str(d)]['Bid'], window=200), 5)
錯誤消失,但我沒有得到滾動的意思。
但是,如果我從錯誤複製的日期和添加它,我得到了我想要的結果,但由於顯而易見的原因只爲有問題的日期:
df['rm200'] = np.round(pd.rolling_mean(df['2015, 7, 15']['Bid'], window=200), 5)
我如何可以遍歷直通日期並分別爲每個日期執行操作?
不,這不起作用。我每天有大約50000個值。通過使用這種方法,我知道它將採用每日平均值併爲每日平均值創建一個滾動平均值。我需要每天滾動平均值。就像我計算一天中有5萬個數據點的滾動平均值,並在第二天重新開始,只是使用當天的數據點。 – Terjeja
你的問題很不明確。我假設你有一些商品(如CL,C,ED等)和到期月份。我認爲你需要對這些進行某種分組,但是不清楚你是否想要商品或商品以及到期日期。我相信你的問題可能過於寬泛,你應該嘗試簡化它以闡明你所要求的內容。 – Alexander
好的。感謝您的反饋。我試圖清除它,並再次問這裏:http://stackoverflow.com/questions/32158990/pandas-day-for-day – Terjeja