任何数据分析项目的第一步都是探索性数据分析。
这涉及到以三种方式探索一个数据集。
1.使用描述性统计对数据集进行总结。
2.2. 使用图表对数据集进行可视化。
3.3.识别缺失值。
通过执行这三个动作,你可以了解数据集中的值是如何分布的,并在继续执行假设测试或执行统计建模之前发现任何有问题的值。
下面的步骤显示了如何在Python中对一个数据集进行探索性数据分析。
第一步:创建数据
首先,让我们创建以下pandas DataFrame。
import pandas as pd
import numpy as np
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'points': [18, 22, 19, 14, 14, 11, 20, 28],
'assists': [5, 7, 7, 9, 12, 9, 9, 4],
'rebounds': [11, 8, 10, 6, 6, np.nan, 9, 12]})
我们可以通过使用**head()**函数看一下DataFrame的前五行。
#view first five rows of dataset
df.head()
team points assists rebounds
0 A 18 5 11.0
1 A 22 7 8.0
2 A 19 7 10.0
3 A 14 9 6.0
4 B 14 12 6.0
第二步:总结数据
我们可以使用**describe()**函数来快速总结数据集中的每个数值变量。
#summarize numerical variables
df.describe()
points assists rebounds
count 8.0000000 8.00000 7.000000
mean 18.250000 7.75000 8.857143
std 5.3652320 2.54951 2.340126
min 11.000000 4.00000 6.000000
25% 14.000000 6.50000 7.000000
50% 18.500000 8.00000 9.000000
75% 20.500000 9.00000 10.50000
max 28.000000 12.0000 12.00000
对于每个数字变量,我们可以看到以下信息。
- count:非遗漏值的总数
- std:均值
- min:最小值
- 25%:第一个四分位数(第25个百分点)的值
- 50%:中位值(第50个百分点)
- 75%:第三个四分位数的值(第75个百分位)。
- 最大值。最大值
对于数据集中的分类变量,我们可以使用value_counts来获得每个值的频率计数。
#display frequency counts for team variable
df['team'].value_counts()
A 4
B 4
Name: team, dtype: int64
从输出中我们可以看到。
- A:这个值出现4次。
- B:这个值出现了4次。
我们可以使用shape函数来获得DataFrame的行数和列数的尺寸。
#display rows and columns
df.shape
(8, 4)
我们可以看到,DataFrame有8 行和4 列。
第3步:数据的可视化
我们还可以创建图表来可视化数据集中的值。
例如,我们可以使用pandas**hist()**函数为每个数字变量的值创建一个直方图。
#create histogram for each numerical variable
df.hist(grid=False, edgecolor='black')
每个直方图的X轴显示每个变量的值,Y轴显示每个值的频率。
我们还可以使用pandas**boxplot****()**函数来为每个数值变量创建一个boxplot。
#create boxplot for each numerical variable
df.boxplot(grid=False)
我们还可以使用**geom_boxplot()**函数为一个变量创建一个由另一个变量分组的boxplot。
我们还可以使用pandas**corr()**函数来创建一个相关矩阵,以查看DataFrame中每一对数字变量组合之间的相关系数。
#create correlation matrix
df.corr()
points assists rebounds
points 1.000000 -0.725841 0.767007
assists -0.725841 1.000000 -0.882046
rebounds 0.767007 -0.882046 1.000000
相关的。 什么被认为是 "强 "相关?
第4步:识别缺失值
我们可以使用下面的代码来计算DataFrame中每一列的缺失值的总数。
#count total missing values in each column
df.isnull().sum()
team 0
points 0
assists 0
rebounds 1
dtype: int64
从输出结果中我们可以看到,在篮子这一栏中只有一个缺失值。
所有其他列都没有缺失值。
现在我们已经完成了对这个数据集的基本探索性数据分析,对这个数据集中每个变量的数值分布有了很好的了解。
相关的。 如何在Pandas中推算缺失值
其他资源
下面的教程解释了如何在Python中执行其他常见任务。
如何在Python中创建频率表
如何从Pandas DataFrame中创建Boxplot
如何从Pandas DataFrame中创建直方图
The postHow to Perform Exploratory Data Analysis in Pythonappeared first onStatology.