这可能应该是基本的,但我仍然无法弄清楚。
我正在阅读 pd.Series 上的文档并做简单的练习。
我的代码如下:
import pandas as pd
import numpy as np
pd.Series([2, 4, 6]).prod()
Out[7]: 48
a = pd.Series(np.arange(1, 100, 3))
a
Out[9]:
0 1
1 4
2 7
3 10
4 13
5 16
6 19
7 22
8 25
9 28
10 31
11 34
12 37
13 40
14 43
15 46
16 49
17 52
18 55
19 58
20 61
21 64
22 67
23 70
24 73
25 76
26 79
27 82
28 85
29 88
30 91
31 94
32 97
dtype: int32
a.prod()
Out[10]: 0
a = pd.Series(np.arange(1, 100, 2))
a.prod()
Out[15]: -373459037
type(a)
Out[18]: pandas.core.series.Series
我的问题是为什么在我看来这种不稳定的行为?为什么 a.prod() 第一次计算结果为 0,然后计算结果为负整数?
我们将不胜感激您的建议。
it's a int32
溢出:
In [340]: a = pd.Series(np.arange(1, 100, 3)).astype(np.int64)
# NOTE: ---------------> ^^^^^^^^^^^^^^^^^
In [341]: a.prod()
Out[341]: 8624389262030143488
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)