我正在处理时间序列的网格数据:
'2014-01-01'
0 1 1 0 0 1
0 1 1 0 1 1
1 1 1 0 0 1
0 1 0 0 0 1
0 1 1 0 1 1
'2014-01-02'
0 1 0 0 0 1
0 1 1 0 1 1
1 0 1 0 1 1
0 1 0 0 0 1
1 1 1 0 1 0
等等 ...
我一直在使用 3d numpy 数组,但我不满意将第 3 维作为 datetime
对象处理,并且可能希望使用 pandas
时间序列这。
在 python
中处理此类数据是否有公认的最佳实践?
更新:
我在上面使用了 1 和 0 来避免让事情变得太困惑,但我的数据是随时间推移在地理空间网格 (WGS84 lon/lat) 上的(不同类型的)值。
我希望能够对整个网格或网格的某些部分(使用网格索引)的日期范围内的数据执行计算。 pandas
时间序列很好,因为您可以利用 datetime
对象(.month
、.year
等方法)和 datetime64
标量简单性(即 data.date=1995)。
最佳答案
也许是 structured array (或记录数组)会更好地满足您的需求:
例如,如果 n
是您需要的条目数并假设您的数字数组是 bool 值:
n=1
np.zeros(n, dtype=[('date','|S10'),('data','b1',(5,6))])
关于python - 一个时间序列的网格数据最实用的python数据结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22759302/