使用Python进行数据清洁:使用Kaggle Titanic DataSet的分步指南
#python #pandas #dataanalytics #datacleaning

简介

任何数据分析项目中的重要步骤是数据清洁阶段。此过程需要在所选数据集中识别和解决丢失的数据,不准确和不一致的问题,以确保数据完成,准确且可靠。本文将展示数据清洁涉及的各种步骤。我们将使用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中。然后,我们进行了数据探索,以更好地了解数据集并确定诸如缺失和重复值之类的各种问题。这些问题需要修复以清洁数据集。为了清洁数据,我们填写了缺少的值,转换的数据类型,删除了重复项并纠正了数据中的不一致。最后一步是验证清洁过程以确保其成功。为了实现这一目标,我们检查了数据类型,缺少值并再次总结了数据。

在任何数据分析项目中,数据清洁是保证数据可靠性,准确性和完整性的关键步骤。通过遵循本文的准则,您将能够有效清洁数据并适合进一步分析。