想将每月数据分成几周。这是试过的代码:
import pandas as pd
import datetime
d = {'By' : pd.Series(pd.date_range('20171030', periods=2, freq='M')),
'Qty': pd.Series([100,200], index=range(2))}
df = pd.DataFrame(d)
df.resample('W').sum()
...给我
仅对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但得到'RangeIndex'错误的实例。
希望将_Qty_
值除以_Sundays_
了解如何使用以下方式获取date_range:
<code>dates = pd.DataFrame(pd.date_range(min(df.By), max(df.By), freq="W-Sun"), columns=['Week'])</code>
...但不知道如何生成拆分。
答案 0 :(得分:1)
如异常所示,pd.DataFrame.resample
要求您拥有某种类型的日期时间索引;目前,您的日期时间值位于“&#39; By&#39;”列中。将所述列移动到您的DataFrame索引,重新采样按预期工作:
df.set_index('By').resample('W-Sun').sum()
# Qty
# By
# 2017-11-05 100.0
# 2017-11-12 NaN
# 2017-11-19 NaN
# 2017-11-26 NaN
# 2017-12-03 200.0
答案 1 :(得分:0)
以下#46579271
回答了问题