简介
任何数据分析项目中的重要步骤是数据清洁阶段。此过程需要在所选数据集中识别和解决丢失的数据,不准确和不一致的问题,以确保数据完成,准确且可靠。本文将展示数据清洁涉及的各种步骤。我们将使用python代码段来使用来自Kaggle的泰坦尼克号数据集和各个示例。
数据集说明
本文使用Kaggle上的“泰坦尼克号:机器学习”数据集。来自泰坦尼克号的乘客记录的数据集。数据集包括性别,年龄,班级,票价和生存状况。您可以从下面的链接下载数据集:
https://www.kaggle.com/c/titanic/data
步骤1:导入库和加载数据
要开始,您必须导入所有必需的Python库并加载数据集。为了将数据集读取到熊猫数据框中,我们将使用熊猫库。以下是上述步骤的Python代码段:
# Importing libraries
import pandas as pd
# Loading dataset
df = pd.read_csv('train.csv')
在上面的代码段中,我们使用“导入熊猫作为pd”语法导入大熊猫库。该语句将允许将大熊猫库用作“ PD”别名。接下来,我们通过使用“ pd.read_csv('train.csv')”功能加载数据集。该函数在阅读后将CSV文件存储为PANDAS DataFrame。
步骤2:探索数据
上传数据后,值得探索数据集以更好地理解数据集。此过程检查缺少数据,数据类型和摘要。下面是上述步骤的Python代码段:
# Checking for missing values
print(df.isnull().sum())
# Checking data types
print(df.dtypes)
# Summarizing data
print(df.describe())
上面的代码段使用“ df.isnull()。sum()”函数检查丢失数据。此功能返回泰坦尼克数据集每列中包含的缺失值的总数。之后,我们使用“ df.dtypes”函数来确定最后一个“ df.describe()”函数的数据类型来汇总数据。该功能检索了不同的统计措施,例如均值,标准偏差,最大,最小值和四分位数。
步骤3:清洁数据
在数据探索过程之后,我们将发现需要解决的问题以正确清洁数据集。纠正不一致,消除重复值,填写丢失的数据以及转换数据类型是清洁数据的一些措施。以下是用于数据清洁步骤的Python代码段。
# Filling in missing values
df['Age'].fillna(df['Age'].median(), inplace=True)
df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True)
# Converting data types
df['Pclass'] = df['Pclass'].astype('category')
# Removing duplicates
df.drop_duplicates(inplace=True)
# Correcting inconsistencies
df.loc[df['Age'] < 0, 'Age'] = df['Age'].median()
这是上面代码段的解释。首先,我们应用了“ fillna()”函数来填充'age'和``启动''列中的缺失值。我们使用中位数填充“年龄”列的缺失值以及“登陆”列的模式值。使用“ astype()”函数,我们将数据集的'PCLASS列转换为分类数据类型。另外,我们利用“ drop_duplicates()”函数来删除重复值。最后,我们用中位数替换了负值以纠正年龄柱不一致。
步骤4:验证清洁数据
清洁数据后,有必要确认数据清洁过程成功。这可以通过检查缺失的值和数据类型,然后再次汇总数据来完成。以下是此过程的Python代码段。
# Checking for missing values
print(df.isnull().sum())
# Checking data types
print(df.dtypes)
# Summarizing data
print(df.describe())
检查数据类型和缺失值,并再次汇总数据以确保清洁过程成功,并使用了上面的代码片段。
以下是Python代码,显示了前五行清洁数据:
# Importing libraries
import pandas as pd
# Loading dataset
df = pd.read_csv('train.csv')
# Filling in missing values
df['Age'].fillna(df['Age'].median(), inplace=True)
df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True)
# Converting data types
df['Pclass'] = df['Pclass'].astype('category')
# Removing duplicates
df.drop_duplicates(inplace=True)
# Correcting inconsistencies
df.loc[df['Age'] < 0, 'Age'] = df['Age'].median()
# Checking the cleansed data
print(df.head())
输出:
PassengerId Survived Pclass \
0 1 0 3
1 2 1 1
2 3 1 3
3 4 1 1
4 5 0 3
Name Sex Age SibSp \
0 Braund, Mr. Owen Harris male 22.0 1
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
4 Allen, Mr. William Henry male 35.0 0
Parch Ticket Fare Embarked
0 0 A/5 21171 7.2500 S
1 0 PC 17599 71.2833 C
2 0 STON/O2. 3101282 7.9250 S
3 0 113803 53.1000 S
4 0 373450 8.0500 S
如上图所示,“年龄”和“登陆”具有缺失值的列已填充。列“ PCLASS”也已转换为分类数据类型。它显示了重复值的去除以及“年龄”列中负值的校正。数据很干净,可以进行其他分析。
结论
总而言之,我们使用Python和来自Kaggle的“泰坦尼克号”数据集带您完成了整个数据清洁过程。首先,我们导入所需的库,并将泰坦尼克号数据集加载到Python中。然后,我们进行了数据探索,以更好地了解数据集并确定诸如缺失和重复值之类的各种问题。这些问题需要修复以清洁数据集。为了清洁数据,我们填写了缺少的值,转换的数据类型,删除了重复项并纠正了数据中的不一致。最后一步是验证清洁过程以确保其成功。为了实现这一目标,我们检查了数据类型,缺少值并再次总结了数据。
在任何数据分析项目中,数据清洁是保证数据可靠性,准确性和完整性的关键步骤。通过遵循本文的准则,您将能够有效清洁数据并适合进一步分析。