【发布时间】:2025-12-16 19:25:02
【问题描述】:
我正在处理一些由约 1,000 行乘 700 列组成的冰川钻孔温度数据。垂直索引是深度(即随着您向下移动数组深度增加),列标题是日期时间值(即当您沿着数组向右移动时,您会及时向前移动)。
我正在寻找一种方法来根据日期采样率平均列中的所有温度。例如,较早的日期时间间隔为 10 分钟,但较晚的日期时间间隔为 6 小时。
能够将采样作为输入并根据该采样率获取数据会很好,这样我就可以看到哪个效果最好。
如果我选择说 3 小时采样,这也会很好地忽略超过 3 小时的间隔,并且在这种情况下不会对数据进行任何更改(即平均 10 分钟的日期时间间隔,但日期时间间隔6 小时不受影响)。
所有这些都需要在以日期作为列标题和深度作为索引的 pandas 数据帧中出现,或者作为 numpy 数组和单独的日期时间列表出现。
我对 Python 还很陌生,这是我关于 * 的第一个问题!谢谢:)
(我知道以下对 Pandas 的使用并不完全正确,但它适用于我制作的图形滑块!)
import numpy as np
import pandas as pd
#example array
T = np.array([ [-2, -2, -2, -2.1, -2.3, -2.6],
[-2.2, -2.3, -3, -3.1, -3.3, -3.3],
[-4, -4, -4.5, -4.4, -4.6, -4.5]])
#example headers at 8 and then 4 hour spacing
headers = [pd.date_range(start='2018-04-24 00:00:00', end='2018-04-24 08:00:00', periods=3).tolist() +
pd.date_range(start='2018-04-24 12:00:00', end='2018-04-25 12:00:00', periods=3).tolist()]
#pandas dataframe in same setup as much larger one I'm using
T_df = pd.DataFrame(T, columns = headers)
【问题讨论】: