介绍
探索性数据分析(EDA)是数据科学过程中的重要步骤,涉及使用统计方法和数据可视化技术来揭示模式,趋势,理解关系并从数据中获得有意义的见解,以了解问题和问题做出明智的决定。统计数据表明,全球生成的数据量正在以指数级增长。据估计,到2025年,世界将每天生成463个数据,因此数据科学家和数据分析师应了解该过程。
无论您是经验丰富的数据科学家还是初学者,此博客都会引导您完成EDA的激动人心的过程以及如何使用Python执行这项重要任务。
如此扣紧,现在该潜入数据世界并发掘一些隐藏的见解。
数据就像垃圾。您最好在收集它之前先知道您要处理什么。
为什么探索性数据分析(EDA)是一项重要任务。
- EDA帮助数据实践者在应用机器学习和统计技术之前从数据中理解并获得见解。
- EDA有助于确定数据中的模式,异常和关系,以做出明智的决策并制定有效的策略。
- EDA过程旨在检测数据中的错误点(例如错误或缺失值)可以通过分析纠正。
探索性数据分析(EDA)步骤。
要完成这项关键任务,需要考虑以下步骤。
- 导入必要的库。
- 加载数据集
- 查看数据集。
- 检查重复。
- 数据准备(处理缺失值和离群值)
- 分析数据。(单变量,双变量和多变量分析)
- 可视化。
想知道可以从哪里获取练习数据集?我们让你覆盖了。查看以下资源。
现在通过执行以下步骤从Kaggle上执行以下示例数据集的EDA;
导入必要的库
Python是一种多功能的编程语言,具有可靠的数据分析库,包括Pandas,Numpy,Seaborn,Matplotlib,Plotly,Tensor Flow,Keras。
我们将利用以下模块
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
通过阅读以下文章来了解其他Python库进行数据分析。
Data Science Libraries Every Data scientist should know.
加载数据集。
PANDAS库可用于读取来自CSV,TXT,Excel,JSON,SQL等多种格式的各种数据集。
#How to read Datasets of various formats
import pandas as pd
#read csv
df = pd.read_csv('filename.csv')
#read txt
df = pd.read_csv('filename.txt', sep="\t")
#read excel
df = pd.read_excel('filename.xlsx')
#read json
df = pd.read_json('filename.json')
#read sql
df = pd.read_sql('SELECT * FROM TableName', connection)
我们的数据集采用CSV格式,我们将其加载到数据帧中,如下所示;
data=pd.read_csv('https://raw.githubusercontent.com/PhylisKorir/SalesPrediction-using-Linear-Regression/main/Electronic_sales.csv')
data
查看数据框。
我们可以通过使用Shape方法快速找出数据集中有多少行和列。这返回一个包含行数和列的元组。
数据的形状
data.shape
预览数据集。
预览前5行。
data.head()
预览最后五行。
data.tail()
head()和tail()函数分别用于预览数据集中的前五行和最后一个fie行。
列名称
data.columns
pandas.dataframe.columns函数用于获取pandas dataframe对象的所有列的名称。它返回一个保存列标签的索引对象。
dataset的简明信息
data.info()
info()方法允许我们获得有关数据集的其他信息,例如列的名称,每列的数据类型和非零值的数量。
数据类型
data.dtypes
pandas.dtypes函数返回pandas dataframe中每列的数据类型。它返回带有每列数据类型的大熊猫系列。
描述性统计。
data.describe()
PANDAS中的描述()函数用于生成描述性统计数据,总结了数据集分布的中心趋势,分散和形状,不包括NAN值。它提供了计数,平均值,标准偏差,最小,最大,25%,第50个百分位(中位数)和第75个数据。
检查副本
data.duplicated.sum()
pandas.dataframe.duplicated.sum()函数返回包含boolean值(true或false)的串联或dataFrame。
唯一值
数据清洁
数据清洁是在数据集中修复或删除错误,损坏,格式不正确,重复或不完整的过程的过程。它涉及处理缺失的值并处理离群值
缺少值
我们将首先扫描数据集以获取缺失值。我们可以通过利用ISNA()方法来做到这一点,该方法返回布尔值的数据框架,指示字段是否为null。我们可以使用sum()方法按列分组所有缺失值。
我们的数据集没有零值,并且可以进行分析。
数据集包含错误,缺失值,离群值或其他类型的不一致之处是常见的。如果您的数据集丢失值此博客(Handling Missing Values)将指南您如何处理数据中的丢失值。
“没有数据很干净,但大多数很有用。” 〜Smarterhq的联合创始人兼首席数据科学家Dean Abbott
分析数据
使用清洁数据集,我们可以继续进行探索数据的任务。
单变量分析。
单变量分析是一种探索性数据分析(EDA)的一种形式,涉及检查单个变量。它用于总结数据并深入了解数据的分布,中心趋势和可变性。它可以用来回答诸如数据范围是什么,最常见的值是什么,并且有任何异常值。它也用于识别数据中的任何趋势或模式。
我们可以使用来自Seaborn的Boxplot可视化此信息。
#Handling outliers
fig, axs = plt.subplots(3, figsize = (5,5))
plt1 = sns.boxplot(data['TV'], ax = axs[0])
plt2 = sns.boxplot(data['Newspaper'], ax = axs[1])
plt3 = sns.boxplot(data['Radio'], ax = axs[2])
plt.tight_layout()
使用上面的框图,我们可以在vriables中分布数据。
双变量分析
双变量分析涉及分析两个变量或列的数据。这通常是探索这些变量之间的关系以及它们如何相互影响的一种方法,如果有的话。
# Let's see how Sales are related with other variables using scatter plot.
sns.pairplot(data, x_vars=['TV', 'Newspaper', 'Radio'], y_vars='Sales', height=4, aspect=1, kind='scatter')
plt.show()
多变量分析
多元分析是一种数据分析,涉及一次检查两个以上的变量,以便更好地了解它们之间的关系。它是探索性数据分析的强大工具,因为它使研究人员能够识别大型数据集中的模式和趋势,否则很难发现。它还允许研究人员探索多个变量之间的关系,并确定哪些变量在预测感兴趣的结果中最重要。
# Let's see the correlation between different variables.
sns.heatmap(data.corr(), cmap="Greens", annot = True)
plt.show()
从散点图和热图可以看到,可变电视似乎与销售最相关
结论 我希望本文对了解如何与Python进行探索性数据分析有所帮助和有益。如果您发现它有帮助,请与您的同事和朋友分享。享受您对数据的探索!