我有一个包含非常大整数的数据框列,当我尝试执行 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)
我如何有效地处理这些大数字并检查偏度而不对其进行标准化或规范化。因为当我对它们进行标准化时,形状似乎变得偏斜,所以我想在进行转换之前进行检查