python升采样和插值_重采样和插值

在理解如何将数据重新采样为小时速率而不是现在的4小时数据块时,仍被困在一项任务上。这是我们要求做的。在

ENTRIES和EXITS字段保存每周不重置为零的原始计数。我们想知道4小时内有多少出入口。要计算这个值,我们需要计算具有相同(UNIT,C/A,SCP)键的相邻行之间的差异。创建存储这些数字的NUM_ENTRIES和NUM_EXITS列。在

提示:

移位法很有用。

在进行转换时使用groupby会更容易,因为它会尊重子单元之间的边界。level参数将帮助定义子单元。

大多数计数器都是递增的,但也有一些是倒计时的。你应该如何处理这些案件?把这个修好以获得额外的学分。在

前一个问题中的数字有一个问题是,它们是在不同的时间采样的。将ENTRIES和EXITS列重新采样为每小时的速率,并对其进行插值以填充缺失的值。使用”pchip”插值方法,因为它将保持单调性。同样,这应该使用groupby分组完成,但是apply函数允许使用任意插值方法。现在,重新计算第2部分中的NUM_ENTRIES和NUM_EXITS列。

提示:

使用reset_index清除索引的UNIT、C/A和SCP级别,因为这使apply函数中使用的重采样和插值方法更加简单。通过set U index执行插值后,将索引添加回。在

这是代码,我有它被要求重采样的部分df = pd.read_csv(“turnstile_161126.txt”)

timestamp =pd.to_datetime(df[‘DATE’] + ‘ ‘ + df[‘TIME’])

df.insert(3, ‘TIMESTAMP’, timestamp)

df.columns = df.columns.str.strip()

df = df.set_index([‘UNIT’,’C/A’,’SCP’,’TIMESTAMP’])

df[‘NUM_ENTRIES’] = df.ENTRIES – df.ENTRIES.shift(1)

df[‘NUM_EXITS’] = df.EXITS – df.EXITS.shift(1)

STATION LINENAME DIVISION DATE TIME DESC ENTRIES EXITS NUM_ENTRIES NUM_EXITS

UNIT C/A SCP TIMESTAMP

R051 A002 02-00-00 2016-11-19 03:00:00 59 ST NQR456W BMT 11/19/2016 03:00:00 REGULAR 5924658 2007780 NaN NaN

2016-11-19 07:00:00 59 ST NQR456W BMT 11/19/2016 07:00:00 REGULAR 5924672 2007802 14.0 22.0

2016-11-19 11:00:00 59 ST NQR456W BMT 11/19/2016 11:00:00 REGULAR 5924738 2007908 66.0 106.0

2016-11-19 15:00:00 59 ST NQR456W BMT 11/19/2016 15:00:00 REGULAR 5924979 2007980 241.0 72.0

2016-11-19 19:00:00 59 ST NQR456W BMT 11/19/2016 19:00:00 REGULAR 5925389 2008056 410.0 76.0

2016-11-19 23:00:00 59 ST NQR456W BMT 11/19/2016 23:00:00 REGULAR 5925614 2008081 225.0 25.0

2016-11-20 03:00:00 59 ST NQR456W BMT 11/20/2016 03:00:00 REGULAR 5925684 2008096 70.0 15.0

2016-11-20 07:00:00 59 ST NQR456W BMT 11/20/2016 07:00:00 REGULAR 5925688 2008113 4.0 17.0

2016-11-20 11:00:00 59 ST NQR456W BMT 11/20/2016 11:00:00 REGULAR 5925755 2008191 67.0 78.0

2016-11-20 15:00:00 59 ST NQR456W BMT 11/20/2016 15:00:00 REGULAR 5925937 2008260 182.0 69.0

2016-11-20 19:00:00 59 ST NQR456W BMT 11/20/2016 19:00:00 REGULAR 5926232 2008332 295.0 72.0

2016-11-20 23:00:00 59 ST NQR456W BMT 11/20/2016 23:00:00 REGULAR 5926394 2008367 162.0 35.0

2016-11-21 03:00:00 59 ST NQR456W BMT 11/21/2016 03:00:00 REGULAR 5926425 2008378 31.0 11.0

2016-11-21 07:00:00 59 ST NQR456W BMT 11/21/2016 07:00:00 REGULAR 5926440 2008420 15.0 42.0

2016-11-21 11:00:00 59 ST NQR456W BMT 11/21/2016 11:00:00 REGULAR 5926622 2008741 182.0 321.0

2016-11-21 15:00:00 59 ST NQR456W BMT 11/21/2016 15:00:00 REGULAR 5926872 2008851 250.0 110.0

2016-11-21 19:00:00 59 ST NQR456W BMT 11/21/2016 19:00:00 REGULAR 5927775 2008927 903.0 76.0

Original: https://blog.csdn.net/weixin_42323064/article/details/113508487
Author: 隔壁王医生
Title: python升采样和插值_重采样和插值

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/742646/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球