问题标签 [pandas-resample]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
35 浏览

python - Pandas - 根据另一个 df 索引重新采样行

我有一个看起来像这样的数据框:

我想根据另一个 df 索引重新采样(求和)需求值,如下所示:

处理它的最佳方法是什么?

0 投票
0 回答
47 浏览

python-3.x - 在 Pandas 中每小时拆分数据

我有可用的数据

我想以每小时的方式在字段 StartTime 上进行拆分/重新采样,它将 Duration 和 PartProduced 拆分为 Ratios

我怎样才能做到这一点?

我尝试使用 Pandas 的 resample 获取详细信息。

0 投票
1 回答
87 浏览

python - 如何进行时间序列反向重采样,例如从最后一个数据日期开始的 5 个工作日?

我想计算每周回报,但从结束日期开始计算。这是我最初尝试使用 pandas 实现它:

然后我得到以下输出,但这不是我想要的:

我希望它从2020-10-13向后开始,以便最后一个范围是:

代替:

到目前为止我已经尝试过:

  1. 反转数据框dfw = dfw.reindex(index=dfw.index[::-1])
  2. 上面的步骤 #1 加上规则是-5B,这会导致错误。
  3. 使用 resample 函数的 origin 参数,但这对计算的顺序没有影响,即origin=dfw.index[-1]
  4. 上面的步骤 #1 加上计算倒置数据帧上的每行数,dfw = dfw.rolling(5).apply(weekly_ret)[::5]但在这里我得到了第一个(最后一个)间隔的 NaN,这个解决方案也有点浪费。

更新:这将是想要的输出;请注意,最后一次返回考虑的是从索引中最后一天开始的那一周:

0 投票
1 回答
42 浏览

python - 从熊猫python中的列表数据中重新采样时间数据

我有一个像下面这样的列表数据,列表中的每个元素都有 6 个东西

这是 1 分钟的数据,我想将其转换为 15 分钟的数据

请帮忙

0 投票
0 回答
238 浏览

python - 使用“agg”对多列进行上采样时填充不完整(熊猫重新采样)

在处理相关问题后,我发现这种行为resample令人困惑。以下是一些时间序列数据,间隔为 5 分钟,但缺少行(最后构建的代码):

我想为每一列使用不同的方法来填充缺失的时间来填充缺失的数据。对于usertotal,我想向前填充,而对于 ,value我想用零填充。

我发现的一种方法是resample,然后在事后填写缺失的数据:

这给出了正确的预期输出:

我认为一个人可以用来agg按列指定要做什么。我尝试执行以下操作:

我发现这更清晰,更简单,它没有给出预期的输出。总和有效,但前向填充无效:

有人可以解释这个输出吗,如果有办法使用来实现预期的输出agg?前向填充在这里不起作用似乎很奇怪,但如果我只是这样做resampled = df.resample('5T').ffill(),那将适用于每一列(但在这里不受欢迎,因为它也适用于value列)。我最接近的是为每列单独运行重新采样并应用我想要的功能:

这可行,但感觉很傻,因为它增加了额外的迭代并使用了我试图传递给的字典agg!我看过一些帖子aggapply但似乎无法解释这里发生了什么:

我也尝试过使用groupbywith apd.Grouper和使用pd.NamedAgg类,但没有运气。


示例数据:

0 投票
2 回答
3657 浏览

python - 通过将观察结果划分为比率来对 Pandas DataFrame 进行下采样

给定一个具有时间戳(ts)的 DataFrame,我想按小时(下采样)。以前由 ts 索引的值现在应该根据一小时内剩余的分钟数划分为比率。[注意:在进行重采样时将数据除以 NaN 列的比率]

我想根据时间花费和生产的比率来估计生产。这可以类比how many lines of code have been completed or find how many actual lines per hour?

例如:在“2020-09-10 00:10:00”我们有 22 个。然后在 21:01 - 00:10 期间,我们根据

结果应该是这样的。

这种方法的问题:

在我看来,这种方法存在严重问题。如果您查看行 [1] -> 2020-09-10 07:00:00,我们有 4 个,我们需要将其划分为 3 个小时。将基本持续时间值视为 1(基本单位),我们得到

资源

预期产出

0 投票
1 回答
102 浏览

python - 如何在 pandas 数据框中的 period datetime 列中平均填补空白?

我有一个如下的数据框:

所以我定义了 period datetime 并按天重新采样

那么我想通过前一天的值来填补日期时间的空白。

这是我想要的输出:

或通过前一天和第二天
所需的输出:

0 投票
0 回答
56 浏览

python - 熊猫在一个日期范围内按月计数

我需要的是从“2014-03”到“2019-01”期间每个月从开始计算每个模块的一些操作。

A huge limitation. 一个动作可以从一个月到另一个执行,并在一个日期范围内按每个月计算。

例如,如果模块仍处于“工作中”且操作没有结束 (NaT),则应按每个月从开始日期到最大日期范围内的日期计算。

计算后预计会有这样的形式:

如果有人知道任何解决方案?

0 投票
0 回答
43 浏览

python - Pandas Dataframe.resample() 不会覆盖 DataFrame

我不知道为什么重采样功能不能正常工作。

我正在尝试使用最简单的示例重新采样,但该函数不会覆盖原始数据帧。

打印结果系列给了我:

在我的用例中,我想升级数据框,但这也没有用。

0 投票
2 回答
181 浏览

python - 使用 pandas GroupBy 和时间序列重采样的平均聚合

我在使用 Pandas groupby 功能和时间序列时遇到问题。我已经阅读了文档,但我无法弄清楚如何将聚合函数应用于多个列并正确计算“聚合”的体积(平均值)的平均值。

这是我导入 CSV 文件的代码:

这是我导入后的 DataFrame:

这就是我尝试过的: 由于时间序列重采样,它计算了每天的平均值。我希望它首先对值求和,最后计算平均值。但这确实意味着每天的所有数据。

这就是我希望正确计算和显示结果的方式(我手动计算): 每天的平均(平均)交易量(分别显示年份和会话):

任何人都知道我错过了什么/做错了什么?