问题标签 [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 - 使用 .resample() 和 .groupby() 问题的 pandas 加权平均
尝试使用 .resample() 方法和 .apply() 计算交易量加权平均价格时遇到问题。这是设置。我有一个名为 All 的数据框,其中包含以下信息:
数据框有一个日期时间索引,因此我可以使用 ^resample 方法对每日频率的数据进行重新采样。现在,我想使用 apply() 和 np.average() 计算成交量加权平均价格
但是,这会导致以下错误:
当绕过 .resample() 并使用 .groupby() 作为替代方案时,它确实有效。但是,我需要执行其他步骤来处理日期,我真的不想这样做。
任何人都可以使用 resample() 帮助我使用正确的语法。我不明白为什么 resample() 在使用 apply() 时会创建一个 Series 对象
提前谢谢了。
python - Pandas:重新采样数据帧以匹配不同数据帧的 DatetimeIndex
我有两个单独的时间序列pandas.dataframe
,第一个 -series1
条目较少,并且与第二个不同的开始数据时间 - series2
:
如何重新采样 series2 以匹配DatetimeIndex
of series1
?
python - 重新采样时间序列 - Python
我正在尝试重新采样时间序列。我似乎无法让它工作。基于其他示例,我不明白为什么这不返回时间序列:
出去:
预期输出:
python - 我可以动态选择应用于 pandas Resampler 对象的方法吗?
我正在尝试创建一个对时间序列数据重新采样的函数pandas
。我希望可以选择根据我发送的数据类型来指定发生的聚合类型(即,对于某些数据,取每个 bin 的总和是合适的,而对于其他数据,则需要取平均值, ETC。)。例如像这样的数据:
我可以有这样的功能:
对于少量的聚合方法,这很好,但如果我想从所有可能的选项中进行选择,这似乎很乏味。
我希望用来getattr
实现类似这篇文章的内容(在“投入使用:泛化方法调用”下)。但是,我找不到这样做的方法:
我明白为什么process2
失败(调用r.foo()
查找 的方法foo()
,r
而不是变量foo
)。但我不认为我明白为什么会process3
失败。
我知道另一种方法是将函数传递给参数method
,然后将apply
这些函数传递给r
。我的倾向是这样效率会降低?而且它仍然不允许我直接访问内置的 Resample 方法。
有没有一种可行的、更简洁的方法来实现这一目标?谢谢!
pandas - Pandas 按一列的日期范围分组并将值应用于第二列的列表
我已将索引设置为日期。我可以按月对日期进行分组并应用聚合函数,但我不能按月对日期进行分组并应用(列出)另一列(名为“Stuff”的列)的值:
这会显示一条错误消息:
python - Python Datetime 重采样结果突然出现 NaN 值
我试图将我的值重新采样到小时。但是,由于我已经更改了 csv 文件中日期的格式,因为自动交换了低数字的月份和日期(2003-04-01 突然变成了 2003-01-04)。现在日期格式很好(在 Python 中显示 csv 文件时),但是在使用重新采样时,这些值出现在 NaN 值中。
df = pd.read_csv(r'C:\Users\water_level.csv',parse_dates=[0],index_col=0,decimal=",", delimiter=';')
我的数据样本: 以时间为索引的原始数据
之后:即使时间是日期时间,它也会将 99% 的数据显示为 NaN 值(每天显示一个值) 每小时 重新采样后具有 NaN 值的数据
当我对日值使用 resample 时,所有值都回来了。所以看来时间有问题。当我一开始使用格式时,出现“格式不适合”错误。我之前尝试过一种不同的方式(不确定有什么不同),但重新采样每小时工作一次。
我需要更改什么才能再次使用 resample 小时?
python - 熊猫时间序列重采样+线性调整值
使用 python 和 pandas,我如何将时间序列重新采样到甚至 5 分钟的间隔(偏移量=整个小时的零分钟),同时还线性调整值?
因此,我想把这个:
进入这个:
请注意“值”列是如何调整的。
- 为简单起见,我选择的值正好是 2 * 分钟数。
- 然而,在现实生活中,这些价值观并不是那么完美。有时在两个偶数 5 分钟间隔之间会存在多个值,有时在两个“真实”值之间存在不止一个 5 分钟间隔,因此在重新采样时,我需要对每个偶数 5 分钟间隔,找到“真实”值" 甚至 5 分钟间隔之前和之后的值,并从中计算线性插值。
PS。
互联网上到处都有很多关于此的信息,但我仍然无法找到一个可以完成我想做的函数(sum、max、mean 等,或编写我自己的函数)。
python - 是否有函数可以获取 pandas 数据帧时间序列上两个值之间的差异?
我在NYT covid 数据集中乱搞,该数据集每天都有每个县的 covid 病例总数。
我想找出每天的病例差异,所以理论上我可以得到每天的新病例数,而不是总病例数。采用滚动平均值,或使用平均值/总和/等每 2 天重新采样一次都可以正常工作。只是减去这让我很头疼。
试过的方法:
df.resample('2d').diff()
-
'DatetimeIndexResampler' 对象没有属性 'diff'
-
df.resample('1d').agg(np.subtract)
-
ufunc() 缺少 2 个必需的位置参数中的 1 个
-
df.rolling(2).diff()
-
“滚动”对象没有属性“差异”
-
df.rolling('2').agg(np.subtract)
-
ufunc() 缺少 2 个必需的位置参数中的 1 个
-
样本数据:
所需的样本输出:
从原始 NYT 数据集重新创建样本数据:
任何帮助将不胜感激!想学习如何手动/通过函数执行此操作,而不是查找“新案例”数据集,因为我将在不久的将来大量使用时间序列。
python - 如何重新采样刻度数据以获取 ohlc 和音量值
我有一个这样的数据框
此数据框正在获取刻度数据并不断更新
我想在最后 1 分钟重新采样这个数据帧以获得
和卷 = 最后(卷)
我正在使用 resample 函数,但出现错误 DataError: No numeric types to aggregate
有人可以帮助如何重新采样