问题标签 [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.
python - Pandas - 根据另一个 df 索引重新采样行
我有一个看起来像这样的数据框:
我想根据另一个 df 索引重新采样(求和)需求值,如下所示:
处理它的最佳方法是什么?
python-3.x - 在 Pandas 中每小时拆分数据
我有可用的数据
我想以每小时的方式在字段 StartTime 上进行拆分/重新采样,它将 Duration 和 PartProduced 拆分为 Ratios
我怎样才能做到这一点?
我尝试使用 Pandas 的 resample 获取详细信息。
python - 如何进行时间序列反向重采样,例如从最后一个数据日期开始的 5 个工作日?
我想计算每周回报,但从结束日期开始计算。这是我最初尝试使用 pandas 实现它:
然后我得到以下输出,但这不是我想要的:
我希望它从2020-10-13
向后开始,以便最后一个范围是:
代替:
到目前为止我已经尝试过:
- 反转数据框
dfw = dfw.reindex(index=dfw.index[::-1])
- 上面的步骤 #1 加上规则是
-5B
,这会导致错误。 - 使用 resample 函数的 origin 参数,但这对计算的顺序没有影响,即
origin=dfw.index[-1]
- 上面的步骤 #1 加上计算倒置数据帧上的每行数,
dfw = dfw.rolling(5).apply(weekly_ret)[::5]
但在这里我得到了第一个(最后一个)间隔的 NaN,这个解决方案也有点浪费。
更新:这将是想要的输出;请注意,最后一次返回考虑的是从索引中最后一天开始的那一周:
python - 从熊猫python中的列表数据中重新采样时间数据
我有一个像下面这样的列表数据,列表中的每个元素都有 6 个东西
这是 1 分钟的数据,我想将其转换为 15 分钟的数据
请帮忙
python - 使用“agg”对多列进行上采样时填充不完整(熊猫重新采样)
在处理相关问题后,我发现这种行为resample
令人困惑。以下是一些时间序列数据,间隔为 5 分钟,但缺少行(最后构建的代码):
我想为每一列使用不同的方法来填充缺失的时间来填充缺失的数据。对于user
和total
,我想向前填充,而对于 ,value
我想用零填充。
我发现的一种方法是resample
,然后在事后填写缺失的数据:
这给出了正确的预期输出:
我认为一个人可以用来agg
按列指定要做什么。我尝试执行以下操作:
我发现这更清晰,更简单,但它没有给出预期的输出。总和有效,但前向填充无效:
有人可以解释这个输出吗,如果有办法使用来实现预期的输出agg
?前向填充在这里不起作用似乎很奇怪,但如果我只是这样做resampled = df.resample('5T').ffill()
,那将适用于每一列(但在这里不受欢迎,因为它也适用于value
列)。我最接近的是为每列单独运行重新采样并应用我想要的功能:
这可行,但感觉很傻,因为它增加了额外的迭代并使用了我试图传递给的字典agg
!我看过一些帖子agg
,apply
但似乎无法解释这里发生了什么:
我也尝试过使用groupby
with apd.Grouper
和使用pd.NamedAgg
类,但没有运气。
示例数据:
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(基本单位),我们得到
资源
预期产出
python - 如何在 pandas 数据框中的 period datetime 列中平均填补空白?
我有一个如下的数据框:
所以我定义了 period datetime 并按天重新采样
那么我想通过前一天的值来填补日期时间的空白。
这是我想要的输出:
或通过前一天和第二天
所需的输出:
python - 熊猫在一个日期范围内按月计数
我需要的是从“2014-03”到“2019-01”期间每个月从开始计算每个模块的一些操作。
A huge limitation
. 一个动作可以从一个月到另一个执行,并在一个日期范围内按每个月计算。
例如,如果模块仍处于“工作中”且操作没有结束 (NaT),则应按每个月从开始日期到最大日期范围内的日期计算。
计算后预计会有这样的形式:
如果有人知道任何解决方案?
python - Pandas Dataframe.resample() 不会覆盖 DataFrame
我不知道为什么重采样功能不能正常工作。
我正在尝试使用最简单的示例重新采样,但该函数不会覆盖原始数据帧。
打印结果系列给了我:
在我的用例中,我想升级数据框,但这也没有用。
python - 使用 pandas GroupBy 和时间序列重采样的平均聚合
我在使用 Pandas groupby 功能和时间序列时遇到问题。我已经阅读了文档,但我无法弄清楚如何将聚合函数应用于多个列并正确计算“聚合”的体积(平均值)的平均值。
这是我导入 CSV 文件的代码:
这是我导入后的 DataFrame:
这就是我尝试过的: 由于时间序列重采样,它计算了每天的平均值。我希望它首先对值求和,最后计算平均值。但这确实意味着每天的所有数据。
这就是我希望正确计算和显示结果的方式(我手动计算): 每天的平均(平均)交易量(分别显示年份和会话):
任何人都知道我错过了什么/做错了什么?