无法使用Python集成离散点集

时间:2014-12-22 18:09:22

标签: python python-2.7 pandas scipy

我有一个Pandas系列,其中包含以下值。我们如何进行整合以找到该图下的区域?

Hour
0.00000    1.195617
0.23990    2.408227
0.47980    1.256069
0.71970    2.227347
0.95960    1.397774
1.19949    1.896309
1.43939    1.309016
1.67929    1.827614
1.91919    1.383252
2.15909    1.630766
2.39899    1.360364
2.63889    1.541367
2.87879    1.560319
3.11869    0.743437
3.35859    1.549370
...
20.39141    2.067811
20.63131    1.938257
20.87121    1.944990
21.11111    1.853212
21.35101    1.702590
21.59091    1.746243
21.83081    2.337570
22.07071    3.773000
22.31061    1.532937
22.55051    1.178040
22.79040    1.850222
23.03030    1.092376
23.27020    1.895959
23.51010    0.966083
23.75000    1.950073
Name: Cost, Length: 100, dtype: float64

尝试了cookbook中的整合功能,但却抛出错误

TypeError: Setting <class 'pandas.core.index.Float64Index'> dtype to anything other than float64 or object is not supported

1 个答案:

答案 0 :(得分:1)

食谱中的食谱要求您使用pd.TimeSeries而不是pd.Series。您可以将索引转换为pd.Timestamp,以获取pd.TimeSeries

i = [0.00000,
0.23990,
0.47980,
0.71970,
0.95960,
1.19949,
1.43939,
1.67929,
1.91919,
2.15909,
2.39899,
2.63889,
2.87879,
3.11869,
3.35859] 
c = [1.195617,
2.408227,
1.256069,
2.227347,
1.397774,
1.896309,
1.309016,
1.827614,
1.383252,
1.630766,
1.360364,
1.541367,
1.560319,
0.743437,
1.549370]

import pandas as pd
s = pd.TimeSeries (index = [pd.Timestamp(k) for k in i], data = c)
s.integrate()

这应该产生,

Out[29]:
4.3059284999999994e-09