ValueError:缓冲区dtype不匹配,预期'float64_t'但得到'浮动'

时间:2013-02-20 16:16:22

标签: python pandas

有一个DataFrame'modtso':

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'

有什么问题?我该怎么解决? 感谢

2 个答案:

答案 0 :(得分:5)

这完全支持0.11-dev 在0.10我认为它会起作用,但你的float32几乎可以用于任何操作

和FYI明确转换类型

df.astype('float64')

请参阅此处的示例 http://pandas.pydata.org/pandas-docs/dev/whatsnew.html#v0-11-0-march-2013

答案 1 :(得分:0)

这样做可以解决这个问题:

from numpy import float64
remod=float64(modtso[0]).resample('D',how=['std'])