Вычисление std () для столбца панд Я заметил, что он отличается от std (), вычисляемого из массива numpy, возвращаемого из того же столбца методом .values.Есть ли разница в точности?
length = 5
fill = np.random.randn(length)
df2 = pd.DataFrame(index=range(length), columns = ["test"])
df2.test = fill
pandas = df2.iloc[:,0]
array = df2.iloc[:,0].values
print(f"pandas std: {pandas.std():0.6f}, numpy std: {array.std():0.6f}")
print(f"Difference: {(pandas.std()/array.std()-1)*100:0.2f}%")
pandas std: 0.764161, numpy std: 0.683486 Разница: 11.80%
С небольшим числом (здесь 5) разница весьма ощутима.Скажем, только с 2 числами разница возрастает до 40%.Числа в пандах и в результирующем массиве также различаются по точности, но я подумал, что это просто потому, что панды просто отображают 6 цифр, сохраняя всю десятичную длину ..