不能在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)


以上是不能在Pandas中增加2列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>