欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据探索:常用统计量分析

程序员文章站 2022-03-18 23:37:36
...

一、集中趋势的度量

import pandas as pd
from pandas import Series

# 数据读取
df1 = pd.read_csv('../data/data.csv', index_col='年份')
print(df1.head())

# 获取数据个数
print(len(df1))
# 或者
print(df1.index.size)

# 均值
m = df1['人均GDP(元)'].mean()
print("人均GDP的均值(元):"+str(m))
输出结果:
人均GDP的均值(元):21042.485714285714

print("人均GDP的均值(元):{:.2f}".format(m))  # 保留2位小数
输出结果:
人均GDP的均值(元):21042.49


# 中位数
m = df1['人均GDP(元)'].median()
print("人均GDP的中位数(元):", m)
输出结果:
人均GDP的中位数(元):18334.6

print("人均GDP的中位数(元):{:.2f}".format(m))  # 保留2位小数
输出结果:
人均GDP的中位数(元):18334.60

# 众数
data = Series([750, 850, 960, 960, 1080, 1080])
r = data.mode()
print("众数为:" + str(r))
输出结果:
众数为:0     960
       1     1080

二、离散趋势的度量

import pandas as pd

# 数据读取
df1 = pd.read_csv('../data/data.csv', index_col='年份')

# 最大值
max_data = df1.max()
print("最大值:", max_data)
输出结果:
最大值: 人均GDP(元)                41907.6
        啤酒产量(万千升)            5061.5
        居民消费价格指数(上面=100)   105.9
        dtype: float64

print("人均GDP的最大值:{}".format(df1['人均GDP(元)'].max()))
输出结果:
人均GDP的最大值:41907.6

# 最小值
min_data = df1.min()
print("最小值:", min_data)
输出结果:
最小值: 人均GDP(元)               7857.7
        啤酒产量(万千升)           2231.3
        居民消费价格指数(上面=100)  99.2
        dtype: float64
print("人均GDP的最小值:{}".format(df1['人均GDP(元)'].min()))
输出结果:
人均GDP的最小值:7857.7

# 极差(max-min)
r = df1['人均GDP(元)'].max() - df1['人均GDP(元)'].min()
print(r)
输出结果:
34049.9

# 标准差--std()
print(df1['人均GDP(元)'].std())
输出结果:
11664.756588634327

print("人均GDP的标准差:{:.2f}".format(df1['人均GDP(元)'].std()))  # 保留2位小数
输出结果:
人均GDP的标准差:11664.76

# 方差--var()
print(df1['人均GDP(元)'].var())
输出结果:
136066546.27208793
print("人均GDP的方差:{:.2f}".format(df1['人均GDP(元)'].var()))  # 保留2位小数
输出结果:
人均GDP的方差:136066546.27

三、描述性统计

import pandas as pd

# 数据读取
df1 = pd.read_csv('../data/data.csv', index_col='年份')

# 描述性的统计分析
r = df1.describe()
print(r)

输出结果:

         人均GDP(元) 啤酒产量(万千升)  居民消费价格指数(上面=100)
count     14.000000    14.000000         14.000000
mean   21042.485714  3608.541429        102.328571
std    11664.756589  1014.981025          2.138090
min     7857.700000  2231.300000         99.200000
25%    10990.400000  2642.525000        100.825000
50%    18334.600000  3748.825000        102.200000
75%    28913.125000  4408.165000        103.750000
max    41907.600000  5061.500000        105.900000


# loc--获取指定行的数据
r_mean = r.loc['mean']
print(r_mean)
输出结果:
人均GDP(元)            21042.485714
啤酒产量(万千升)            3608.541429
居民消费价格指数(上面=100)      102.328571
Name: mean, dtype: float64

# iloc--获取指定行的数据
r_mean = r.iloc[1]
print(r_mean)
输出结果:
人均GDP(元)            21042.485714
啤酒产量(万千升)            3608.541429
居民消费价格指数(上面=100)      102.328571
Name: mean, dtype: float64

# 求极差
r_range = r.loc['max']-r.loc['min']
print(r_range)
输出结果:
人均GDP(元)            34049.9
啤酒产量(万千升)            2830.2
居民消费价格指数(上面=100)        6.7
dtype: float64

# 将极差添加到describe()中
r.loc['range'] = r.loc['max'] - r.loc['min']
输出r查看
   人均GDP(元)    啤酒产量(万千升)  居民消费价格指数(上面=100)
count     14.000000    14.000000         14.000000
mean   21042.485714  3608.541429        102.328571
std    11664.756589  1014.981025          2.138090
min     7857.700000  2231.300000         99.200000
25%    10990.400000  2642.525000        100.825000
50%    18334.600000  3748.825000        102.200000
75%    28913.125000  4408.165000        103.750000
max    41907.600000  5061.500000        105.900000
range  34049.900000  2830.200000          6.700000