python - 如何通过删除每隔一行(删除每 30 分钟的测量值)来重新采样数据帧

标签 python pandas

我有一个时间序列的测量 DataFrame,每 30 分钟标记一次时间戳(yyyy/mm/dd 00:30:00、yyyy/mm/dd 01:00:00 等..),我只想做一个通过删除半小时测量值并仅保留每小时测量值来进行简单的重新采样,这可以通过删除每隔一行来完成。有关如何执行此操作的任何建议。

最佳答案

要删除每隔一行,保留第一行,请使用 df.iloc[::2] .

要删除每隔一行(从第二行开始),请使用 df.iloc[1::2] .


或者,从时间序列开始,ts ,有一个 DatetimeIndex,您可以使用 ts.index.minute == 0选择分钟等于 0 的行:

In [146]: ts = pd.Series(1, index=pd.date_range('2000-1-1', periods=10, freq='30T'))

In [147]: ts
Out[147]: 
2000-01-01 00:00:00    1
2000-01-01 00:30:00    1
2000-01-01 01:00:00    1
2000-01-01 01:30:00    1
2000-01-01 02:00:00    1
2000-01-01 02:30:00    1
2000-01-01 03:00:00    1
2000-01-01 03:30:00    1
2000-01-01 04:00:00    1
2000-01-01 04:30:00    1
Freq: 30T, dtype: int64

In [148]: ts.loc[ts.index.minute == 0]
Out[148]: 
2000-01-01 00:00:00    1
2000-01-01 01:00:00    1
2000-01-01 02:00:00    1
2000-01-01 03:00:00    1
2000-01-01 04:00:00    1
Freq: 60T, dtype: int64

关于python - 如何通过删除每隔一行(删除每 30 分钟的测量值)来重新采样数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37275394/

相关文章:

python - 仅使用相关列取消堆叠数据框

python - 按周分组一个 Dataframe

python - 是否有任何反向 np.dot 函数?

Python。获取闪烁/闪烁的聊天窗口

python - 在 Jupyter Notebook 中使用 Ctypes

python - 在 pandas 数据框中拆分列并分配标题

python - 如何根据行值获取 Pandas 中的列名?

python - 使用py2exe将python脚本编译为exe,出现错误

python - NoneType 对象没有属性 endwith (Tensorflow)

python - 在 Pandas 的多列中查找字符串