Ahm*_*nis 3 python statistics numpy pandas
我最近遇到一件事,让我注意到numpy.var()和pandas.DataFrame.var()orpandas.Series.var()给出了不同的值。我想知道它们之间有什么区别吗?
这是我的数据集。
Country GDP Area Continent
0 India 2.79 3.287 Asia
1 USA 20.54 9.840 North America
2 China 13.61 9.590 Asia
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
catDf.iloc[:,1:-1] = ss.fit_transform(catDf.iloc[:,1:-1])
Run Code Online (Sandbox Code Playgroud)
现在检查 Pandas 方差
# Pandas Variance
print(catDf.var())
print(catDf.iloc[:,1:-1].var())
print(catDf.iloc[:,1].var())
print(catDf.iloc[:,2].var())
Run Code Online (Sandbox Code Playgroud)
输出是
GDP 1.5
Area 1.5
dtype: float64
GDP 1.5
Area 1.5
dtype: float64
1.5000000000000002
1.5000000000000002
Run Code Online (Sandbox Code Playgroud)
而它应该是 1,因为我已经使用了 StandardScaler。
对于 numpy 方差
print(catDf.iloc[:,1:-1].values.var())
print(catDf.iloc[:,1].values.var())
print(catDf.iloc[:,2].values.var())
Run Code Online (Sandbox Code Playgroud)
输出是
1.0000000000000002
1.0000000000000002
1.0000000000000002
Run Code Online (Sandbox Code Playgroud)
这似乎是正确的。
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |