《python数据分析基础》之描述性统计与建模

1、数据集

红葡萄酒数据集:

http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv

白葡萄酒数据集:

http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv

红葡萄酒文件中包含1599条观测,白葡萄酒文件包含4898条观测。输入变量是葡萄酒的物理化学成分和特性,包括非挥发性酸、挥发性酸、柠檬酸、残余糖分、氯化物、游离二氧化硫、总二氧化硫、密度、pH值、硫酸盐和酒精含量。我们将两个文件合并,并增加一列type变量,用于区分白葡萄酒和红葡萄酒:

 2、描述性统计

#!/usr/bin/env python3
import pandas as pd

# 将数据集读入到pandas数据框中,分隔符为逗号
f = open('F://python入门//数据1//红葡萄酒和白葡萄酒//winequality-whole.csv')
#read_csv读取时会自动识别表头,数据有表头时不能设置header为空(默认读取第一行,即header=0);
#数据无表头时,若不设置header,第一行数据会被视为表头,应传入names参数设置表头名称或设置header=None。
wine = pd.read_csv(f, sep=',', header=0)
#将标题行中的空格替换成下划线
wine.columns = wine.columns.str.replace(' ', '_')
#使用head函数检查一下标题行和前五行数据
print('查看前五行数据:\n',wine.head())
# 显示所有变量的描述性统计量,这些统计量包括:总数、均值、标准差、最小值、第25个百分位数、
#中位数、第75个百分位数和最大值
#标准差是一组数据平均值分散程度的一种度量。一个较大的标准差,代表大部分数值和其平均值之间差异较大。
print('描述性统计:\n',wine.describe())
#找出唯一值,即quality列中删除重复值留下的数值
print('quality列去重后的值,从小到大输出:\n',sorted(wine.quality.unique()))
# 计算值的频率
print('每个唯一值在数据集中出现的次数:\n',wine.quality.value_counts())

结果:

查看前五行数据:
   type  fixed_acidity  volatile_acidity   ...     sulphates  alcohol  quality
0  red            7.4              0.70   ...          0.56      9.4        5
1  red            7.8              0.88   ...          0.68      9.8        5
2  red            7.8              0.76   ...          0.65      9.8        5
3  red           11.2              0.28   ...          0.58      9.8        6
4  red            7.4              0.70   ...          0.56      9.4        5

[5 rows x 13 columns]
描述性统计:
        fixed_acidity  volatile_acidity     ...           alcohol      quality
count    6497.000000       6497.000000     ...       6497.000000  6497.000000
mean        7.215307          0.339666     ...         10.491801     5.818378
std         1.296434          0.164636     ...          1.192712     0.873255
min         3.800000          0.080000     ...          8.000000     3.000000
25%         6.400000          0.230000     ...          9.500000     5.000000
50%         7.000000          0.290000     ...         10.300000     6.000000
75%         7.700000          0.400000     ...         11.300000     6.000000
max        15.900000          1.580000     ...         14.900000     9.000000

[8 rows x 12 columns]
quality列去重后的值,从小到大输出:
 [3, 4, 5, 6, 7, 8, 9]
每个唯一值在数据集中出现的次数:
 6    2836
5    2138
7    1079
4     216
8     193
3      30
9       5
Name: quality, dtype: int64

猜你喜欢

转载自www.cnblogs.com/xiao02fang/p/12725035.html