【问题标题】:Split end-of-month data into weeks将月末数据拆分为几周
【发布时间】:2018-03-16 02:27:01
【问题描述】:

希望将每月数据分成几周。这是尝试的代码:

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>

...但不知道如何生成拆分。

【问题讨论】:

    标签: python pandas datetime indexing pandas-groupby


    【解决方案1】:

    如异常所示,pd.DataFrame.resample 要求您具有某种类型的日期时间索引;目前,您的日期时间值在您的“按”列中。将所述列移动到 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
    

    【讨论】:

    • 有人可以帮忙吗?
    【解决方案2】:

    问题已在以下 #46579271 中得到解答

    【讨论】:

      猜你喜欢
      • 2023-01-15
      • 2016-02-21
      • 1970-01-01
      • 2021-08-12
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 2021-02-07
      相关资源
      最近更新 更多