价值误差:缓冲区数据类型不匹配,应为'float64_t',但实际上是'float'.

9

有一个名为“modtso”的DataFrame:

In [4]: modtso
Out[4]: 
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 74006 entries, 2002-07-27 15:00:00 to 2010-12-31 22:58:08
Data columns:
0    74006  non-null values
dtypes: float32(1)

In [5]: modtso[1:10]
Out[5]: 
                         0
2002-07-27 16:01:53   9.336845
2002-07-27 16:58:08   9.337487
2002-07-27 18:00:00   9.343308
2002-07-27 19:01:53   9.364368
2002-07-27 19:58:08   9.389445
...

现在我想将其重新采样如下:
a=modtso.resample('D',how='std')

这会引发一个异常:

ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'

有什么问题?我该如何解决? 谢谢


你使用的是哪个版本的pandas?如果是0.90之前的版本,可能与这个问题有关。在0.10.1上对我来说运行良好。 - Andy Hayden
2个回答

12

1
这样做可以解决这个问题:
from numpy import float64
remod=float64(modtso[0]).resample('D',how=['std'])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接