pandas系列之方差和标准差

1,409 阅读2分钟

本文用到的表格内容如下:

image-20210725113116596.png

先来看一下原始情形:

import pandas as pd
​
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df)

result:

   分类            货品  实体店销售量  线上销售量  成本   售价
0  水果            苹果      34    234  12   45
1  家电           电视机      56    784  34  156
2  家电            冰箱      78    345  24  785
3  书籍  python从入门到放弃      25     34  13   89
4  水果            葡萄     789     56   7  398

1.求方差

1.1对全表进行操作

1.1.1求取每列的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.var())

result:

实体店销售量    110164.3
线上销售量      92621.8
成本           118.5
售价         93741.3
dtype: float64

1.1.2 求取每行的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.var(axis=1))

result:

0     10558.250000
1    126019.666667
2    120818.000000
3      1130.250000
4    131161.666667
dtype: float64

1.2 对单独的一行或者一列进行操作

1.2.1 求取单独某一列的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df['实体店销售量'].var())

result:

110164.3

1.2.2 求取单独某一行的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0]].var())

result:

实体店销售量   NaN
线上销售量    NaN
成本       NaN
售价       NaN
dtype: float64

1.3 对多行或者多列进行操作

1.3.1 求取多列的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df[['实体店销售量', "线上销售量"]].var())

result:

实体店销售量    110164.3
线上销售量      92621.8
dtype: float64

1.3.2 求取多行的方差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0, 1]].var())

result:

实体店销售量       242.0
线上销售量     151250.0
成本           242.0
售价          6160.5
dtype: float64

2 求标准差

2.1对全表进行操作

2.1.1对每一列求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.std())

result:

实体店销售量    331.910078
线上销售量     304.338299
成本         10.885771
售价        306.172010
dtype: float64

2.1.2 对每一行求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.std(axis=1))

result:

0    102.753345
1    354.992488
2    347.588838
3     33.619191
4    362.162487
dtype: float64

2.2 对单独的一行或者一列进行操作

2.2.1 对某一列求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df['实体店销售量'].std())

result:

331.910078183835825

2.2.2 对某一行求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0]].std())

result:

实体店销售量   NaN
线上销售量    NaN
成本       NaN
售价       NaN
dtype: float64

2.3 对多行或者多列进行操作

2.3.1 对多列求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df[['实体店销售量', "线上销售量"]].std())

result:

实体店销售量    331.910078
线上销售量     304.338299
dtype: float64

2.3.2 对多行求标准差

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.iloc[[0, 1]].std())

result:

实体店销售量     15.556349
线上销售量     388.908730
成本         15.556349
售价         78.488853
dtype: float64