首页 > 解决方案 > 如何在 python 中处理非常大的整数,以便我可以看到偏斜或进行 shapiro 测试

问题描述

我有一个数据框列,其中包含非常大的整数,当我尝试执行 stats.skew 时遇到运行时警告,当我尝试执行 stats.shaipro 时,我的 W 值为 Nan,P 值为 1.0。

谁能帮我弄清楚发生了什么。

例如我的数据框列在下面

df['base10'].head(5) = 
2839213772070749460480821310079499005162092011921525049102739318742827845296843302444395186468208343889036518562980253704190150311936
301200586240744244976015631595112623449787927131531442907115876703438892566360353861665875236674514649545179144
709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659742377525867680533205622456286445568
177450860423732151022638156552327889890411415837994901586611431404497961316719962825710173292379022702626459669106227716139918557216
20173827172553973356686868537384638197204284765283645759217660706128214728004380584952535890997185047482553216756875264

当我运行 stats.skew(df.base10) 我得到以下问题

stats.skew(df.base10)
/usr2/nandeepd/myenv/lib/python3.9/site-packages/scipy/stats/stats.py:1092: RuntimeWarning: overflow encountered in multiply
  s *= a_zero_mean
/usr2/nandeepd/myenv/lib/python3.9/site-packages/numpy/core/_methods.py:178: RuntimeWarning: invalid value encountered in reduce
  ret = umr_sum(arr, axis, dtype, out, keepdims, where=where)
/usr2/nandeepd/myenv/lib/python3.9/site-packages/scipy/stats/stats.py:1234: RuntimeWarning: overflow encountered in power
  lambda m2, m3: m3 / m2**1.5,
nan

当我在其上运行 shapiro 时,stats.shaipro(df.base10)

stats.shapiro(df.base10)
ShapiroResult(statistic=nan, pvalue=1.0)

我怎样才能有效地处理这些大数字并在不标准化或规范化它们的情况下检查偏度。当我对它们进行标准化时,形状似乎变得偏斜,所以我想在进行转换之前检查一下

标签: pythonpandasobjectnumpy-ndarraynormal-distribution

解决方案


推荐阅读