Pandas重采样选项

2024-03-28 11:00:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我查找了pandas resample module的文档。虽然它描述了函数中可用的参数,但它没有告诉我这些参数的可能选项。例如,how参数的值是'sum'(如示例所示),但是还有哪些值是可能的,这些值又有什么作用?类似于fill参数。有人能告诉我/提供这些参数的可用值的链接吗??在


Tags: 函数文档示例pandas参数链接选项fill
2条回答

一个好的开始可能是pandas tutorial关于时间序列功能。但事实并非如此。把话题讲清楚。在

你也可以看看那里的Cookbook-只是想找出大多数链接指向。。。堆栈溢出。在

我在Python for Data Analysis中找到了一个方法参数表。在


至于你问的两个特殊参数:

  1. how-可以是一个表示公共函数的字符串(如'sum''mean',等等),一个采用数组的自定义函数,以及(这里可能没有提到的)DataFrame中特定列的函数dict(例如how = {col1: fun1, col2: fun2}

  2. fill_method-可以是ffill(又名pad)或{}(又名backfill)-向前或向后填充值。

我认为关于新的重采样函数最好的文档可以在what's new part for pandas 0.18.0中找到:

新API:

现在,您可以将.resample(..)写成一个两阶段操作,类似于.groupby(...),这会产生一个重采样器。

In [82]: r = df.resample('2s')

In [83]: r
Out[83]: DatetimeIndexResampler [freq=<2 * Seconds>, axis=0, closed=left, label=left, convention=start, base=0]

下采样

然后可以使用此对象执行操作。这些是下采样操作(从较高的频率到较低的频率)。在

^{pr2}$

此外,resample现在支持getitem操作来对特定列执行重采样。在

In [86]: r[['A','C']].mean()
Out[86]: 
                            A         C
2010-01-01 09:00:00  0.485748  0.357096
2010-01-01 09:00:02  0.820801  0.364034
2010-01-01 09:00:04  0.433985  0.424104
2010-01-01 09:00:06  0.624988  0.633165
2010-01-01 09:00:08  0.510470  0.573201
and .aggregate type operations.

In [87]: r.agg({'A' : 'mean', 'B' : 'sum'})
Out[87]: 
                            A         B
2010-01-01 09:00:00  0.485748  0.894701
2010-01-01 09:00:02  0.820801  1.588635
2010-01-01 09:00:04  0.433985  0.629165
2010-01-01 09:00:06  0.624988  1.219477
2010-01-01 09:00:08  0.510470  1.068634
These accessors can of course, be combined

In [88]: r[['A','B']].agg(['mean','sum'])
Out[88]: 
                            A                   B          
                         mean       sum      mean       sum
2010-01-01 09:00:00  0.485748  0.971495  0.447351  0.894701
2010-01-01 09:00:02  0.820801  1.641602  0.794317  1.588635
2010-01-01 09:00:04  0.433985  0.867969  0.314582  0.629165
2010-01-01 09:00:06  0.624988  1.249976  0.609738  1.219477
2010-01-01 09:00:08  0.510470  1.020940  0.534317  1.068634

结论:

您可以查看文档充分的.groupby()示例,以了解重新采样后可以做什么(使用重新采样的DF/Series)

相关问题 更多 >