不能在Pandas中增加2列
我有一个问题。就像你看的例子:
data = pd.DataFrame({'a':[127093342616], 'b':[22853943721]})
data['a*b']= data['a']*data['b']
data
- 当我乘以2 个数字时:127093342616 vs 22853943721,结果 = 2904584099459834914136
- 但是当我使用 Pandas 的 DataFrame 时,我将结果分成2 个列 = 8445279887435310424
- 谁能告诉我是什么原因?和解决方案?
非常感谢!!!!!!
回答
尝试使用 float 数据类型,您会遇到整数溢出问题:
data = pd.DataFrame({'a':[127093342616], 'b':[22853943721]}, dtype=np.float)
data['a*b']= data['a']*data['b']
data
输出:
a b a*b
0 1.270933e+11 2.285394e+10 2.904584e+21
因为 pandas 在底层使用 numpy,所以让我们看看numpy 数据类型。
numpy.int64 - 整数(-9223372036854775808 到 9223372036854775807)