使用 Pandas 对数据帧的特定周期进行下采样

维克多·阿吉亚尔

我有一个从 1963 年开始到 2013 年结束的长时间系列。但是,从 1963 年到 2007 年,它有一个每小时采样周期,而 2007 年的采样率更改为 5 分钟。是否可以以整个时间序列每小时数据采样的方式重新采样 2007 年之后的数据?下面的数据切片。

yr, m, d, h, m, s, sl
2007, 11, 30, 19, 0, 0, 2180
2007, 11, 30, 20, 0, 0, 2310
2007, 11, 30, 21, 0, 0, 2400
2007, 11, 30, 22, 0, 0, 2400
2007, 11, 30, 23, 0, 0, 2270
2008, 1, 1, 0, 0, 0, 2210
2008, 1, 1, 0, 5, 0, 2210
2008, 1, 1, 0, 10, 0, 2210
2008, 1, 1, 0, 15, 0, 2200
2008, 1, 1, 0, 20, 0, 2200
2008, 1, 1, 0, 25, 0, 2200
2008, 1, 1, 0, 30, 0, 2200
2008, 1, 1, 0, 35, 0, 2200
2008, 1, 1, 0, 40, 0, 2200
2008, 1, 1, 0, 45, 0, 2200
2008, 1, 1, 0, 50, 0, 2200
2008, 1, 1, 0, 55, 0, 2200
2008, 1, 1, 1, 0, 0, 2190
2008, 1, 1, 1, 5, 0, 2190  

谢谢!

平方

为您的数据框提供正确的列名

df.columns = 'year month day hour minute second sl'.split()

解决方案

df.groupby(['year', 'month', 'day', 'hour'], as_index=False).first()

   year  month  day  hour  minute  second    sl
0  2007     11   30    19       0       0  2180
1  2007     11   30    20       0       0  2310
2  2007     11   30    21       0       0  2400
3  2007     11   30    22       0       0  2400
4  2007     11   30    23       0       0  2270
5  2008      1    1     0       0       0  2210
6  2008      1    1     1       0       0  2190

选项 2
这是一个基于列重命名的选项。我们将使用pd.to_datetime巧妙地获取我们的日期,然后使用resample. 但是,您有时间间隔,必须解决空值并重新转换 dtype。

df.set_index(
    pd.to_datetime(df.drop('sl', 1))
).resample('H').first().dropna().astype(df.dtypes)

                     year  month  day  hour  minute  second    sl
2007-11-30 19:00:00  2007     11   30    19       0       0  2180
2007-11-30 20:00:00  2007     11   30    20       0       0  2310
2007-11-30 21:00:00  2007     11   30    21       0       0  2400
2007-11-30 22:00:00  2007     11   30    22       0       0  2400
2007-11-30 23:00:00  2007     11   30    23       0       0  2270
2008-01-01 00:00:00  2008      1    1     0       0       0  2210
2008-01-01 01:00:00  2008      1    1     1       0       0  2190

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用UnbalancedDataset包对数据集进行过度采样时出现KeyError(在pandas.index.IndexEngine.get_loc中)

来自分类Dev

如何使用pandas在csv中代表采样数据帧

来自分类Dev

使用 Pandas 数据帧进行优化

来自分类Dev

如何使用python pandas根据特定的(字符串)列对数据框进行排序?

来自分类Dev

使用 Pandas 对数据集中的数据进行排序

来自分类Dev

使用python和pandas按季节对数据进行分组

来自分类Dev

如何使用python pandas库对数据进行突变

来自分类Dev

使用pythons pandas数据帧中的数据从正态分布中采样

来自分类Dev

使用 lm 在没有截距的情况下对数据帧矩阵进行回归

来自分类Dev

在 Python pandas 数据帧中使用 statsmodel 进行样条平滑

来自分类Dev

Pandas - 使用 2 个数据帧进行索引的最快方式

来自分类Dev

使用 asfreq 对 Pandas 数据框重新采样

来自分类Dev

如何在Pandas / Numpy中使用dateOffset对当日时间序列数据进行重新采样?

来自分类Dev

使用python使用Haversine公式对gps数据进行下采样

来自分类Dev

使用fread()读取后无法对数据帧进行子集

来自分类Dev

使用lapply按列对数据帧列表进行分组

来自分类Dev

如何使用向量对数据帧列表进行子集

来自分类Dev

使用向量作为参数对数据帧进行子集化

来自分类Dev

使用值的间隔来对数据帧进行子集

来自分类Dev

使用 filter() 对数据帧进行子集化

来自分类Dev

使用R中不同数据帧的过滤信息从数据帧中的列进行随机采样

来自分类Dev

使用扫描对数据帧的特定用户输入

来自分类Dev

Pandas-使用混合类型列对数据框进行样式设置

来自分类Dev

如何对数据帧进行重采样

来自分类Dev

使用GroupBy按时数据对数据框进行重新采样

来自分类Dev

使用split功能按因子对数据帧进行分组,替代大型数据帧

来自分类Dev

对两列进行排序,并使用pandas为数据帧中的排序值创建新列

来自分类Dev

对 Pandas 数据帧进行分组

来自分类Dev

使用循环使用 Pandas 转换多个数据帧

Related 相关文章

  1. 1

    使用UnbalancedDataset包对数据集进行过度采样时出现KeyError(在pandas.index.IndexEngine.get_loc中)

  2. 2

    如何使用pandas在csv中代表采样数据帧

  3. 3

    使用 Pandas 数据帧进行优化

  4. 4

    如何使用python pandas根据特定的(字符串)列对数据框进行排序?

  5. 5

    使用 Pandas 对数据集中的数据进行排序

  6. 6

    使用python和pandas按季节对数据进行分组

  7. 7

    如何使用python pandas库对数据进行突变

  8. 8

    使用pythons pandas数据帧中的数据从正态分布中采样

  9. 9

    使用 lm 在没有截距的情况下对数据帧矩阵进行回归

  10. 10

    在 Python pandas 数据帧中使用 statsmodel 进行样条平滑

  11. 11

    Pandas - 使用 2 个数据帧进行索引的最快方式

  12. 12

    使用 asfreq 对 Pandas 数据框重新采样

  13. 13

    如何在Pandas / Numpy中使用dateOffset对当日时间序列数据进行重新采样?

  14. 14

    使用python使用Haversine公式对gps数据进行下采样

  15. 15

    使用fread()读取后无法对数据帧进行子集

  16. 16

    使用lapply按列对数据帧列表进行分组

  17. 17

    如何使用向量对数据帧列表进行子集

  18. 18

    使用向量作为参数对数据帧进行子集化

  19. 19

    使用值的间隔来对数据帧进行子集

  20. 20

    使用 filter() 对数据帧进行子集化

  21. 21

    使用R中不同数据帧的过滤信息从数据帧中的列进行随机采样

  22. 22

    使用扫描对数据帧的特定用户输入

  23. 23

    Pandas-使用混合类型列对数据框进行样式设置

  24. 24

    如何对数据帧进行重采样

  25. 25

    使用GroupBy按时数据对数据框进行重新采样

  26. 26

    使用split功能按因子对数据帧进行分组,替代大型数据帧

  27. 27

    对两列进行排序,并使用pandas为数据帧中的排序值创建新列

  28. 28

    对 Pandas 数据帧进行分组

  29. 29

    使用循环使用 Pandas 转换多个数据帧

热门标签

归档