我有来自三个不同GPS接收器的冰速GPS数据.数据位于熊猫数据框中,其索引为朱利安日(从2009年开始增量).
这是数据的子集(主数据集是3487235行...):
R2 R7 R8
1235.000000 116.321959 100.805197 96.519977
1235.000116 NaN 100.771133 96.234957
1235.000231 NaN 100.584559 97.249262
1235.000347 118.823610 100.169055 96.777833
1235.000463 NaN 99.753551 96.598350
1235.000579 NaN 99.338048 95.283989
1235.000694 113.995003 98.922544 95.154067
Run Code Online (Sandbox Code Playgroud)
数据框具有以下形式:
Index: 6071320 entries, 127.67291667 to 1338.51805556 Data columns: R2 3487235 non-null values R7 3875864 non-null values R8 1092430 non-null values dtypes: float64(3)
R2以不同的速率对R7和R8进行采样,因此NaNs系统地出现在该间距处.
尝试df.plot()绘制整个数据帧(或其索引行位置)在绘制R7和R8方面工作正常,但不绘制R2.同样,只是做df.R2.plot()也不起作用.绘制R2的唯一方法是做df.R2.dropna().plot(),但这也会删除表示无数据周期的NaN(而不是仅比其他接收器更粗略的采样频率).
还有其他人遇到过这个吗?感谢任何关于这个问题的想法:)
我有一个10分钟频率数据的熊猫时间序列,需要找到每个24小时内的最大值.然而,这个24小时的时间段需要每天凌晨5点开始 - 而不是大熊猫假设的默认午夜.
我一直在检查,DateOffset但到目前为止我正在画空白.我可能会认为一个类似于pandas.tseries.offsets.Week(weekday=n),例如pandas.tseries.offsets.Week(hour=5),但这不是只要我可以告诉支持.
我可以shift先通过数据做一个令人讨厌的工作,但这是不直观的,甚至在一周后回到相同的代码我有问题绕着转移方向缠绕我的头!
任何更优雅的想法将非常感激.
我有一个数据集,它包含了几年的每日x,y网格气象数据.我有兴趣只计算冬季数据的年度平均值,即.不包括夏季数据.
我认为我需要使用resample命令,例如频率AS-OCT将时间序列重新采样到年频率,冬季从每年10月开始(北纬).
我无法解决的是如何指定我只想使用10月到4月/ 5月的数据,忽略6月,7月和8月.
由于resample函数与ndarray对象一起工作,我提出了一个相当不可靠的方法来实现这个:
def winter(x,axis):
# Only use data from 1 October to end of April (day 211)
return np.sum(x[0:211,:,:],axis=0)
win_sum = all_data.resample('AS-OCT',how=winter,dim='TIME')
Run Code Online (Sandbox Code Playgroud)
但我觉得应该有更优雅的解决方案.有任何想法吗?