Python 清洗原始数据

  • Post category:Python

关于Python清洗原始数据的方法,我可以提供以下完整攻略:

1. 安装所需库

首先需要安装所需库,常用的有pandas、numpy等,可以通过pip命令来安装,例如:

pip install pandas
pip install numpy

2. 导入原始数据

接下来需要导入原始数据,一般情况下数据源可以是excel表格、csv文件等。可以使用pandas库中的read_excel()、read_csv()方法来读取,例如:

import pandas as pd

# 读取excel表格
df = pd.read_excel('data.xlsx')
# 读取csv文件
df = pd.read_csv('data.csv')

3. 数据处理

接下来就是数据清洗的核心步骤了。在数据清洗前需要对数据进行探索性分析,例如查看数据的整体分布、缺失值情况、异常值等。常用的数据处理方法包括:

3.1 缺失值处理

对于缺失值可以使用fillna()方法来填充,例如:

# 将所有缺失值填充为0
df.fillna(0)
# 将某一列的缺失值填充为该列平均值
df['col'].fillna(df['col'].mean(), inplace=True)

3.2 重复值处理

可以使用duplicates()方法来查找并删除重复值,例如:

# 查找重复值
df.duplicates()
# 删除重复值
df.drop_duplicates(inplace=True)

3.3 数据类型转换

在处理数据时,有时候需要将数据类型转换为其他类型,例如将字符串转换为数字等:

# 将字符串转换为数字
df['col'] = pd.to_numeric(df['col'], errors='coerce')
# 将时间字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')

4. 结果输出

处理完成后,可以使用to_excel()、to_csv()等方法将结果输出到文件中,例如:

# 将结果输出到excel文件中
df.to_excel('result.xlsx', index=False)
# 将结果输出到csv文件中
df.to_csv('result.csv', index=False)

以上就是Python清洗原始数据的基本流程,下面提供两个简单示例来说明:

示例1:缺失值替换为均值

如下是一个包含缺失值的DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame({'col1': [1, 2, 3, 4, np.nan], 'col2': [4, 5, np.nan, 6, 7]})

可以使用fillna()方法将缺失值替换为均值:

df.fillna(df.mean())

输出结果为:

   col1  col2
0   1.0   4.0
1   2.0   5.0
2   3.0   5.5
3   4.0   6.0
4   2.5   7.0

示例2:删除重复值

如下是一个包含重复值的DataFrame:

import pandas as pd

df = pd.DataFrame({'col1': [1, 2, 2, 3, 4], 'col2': [4, 5, 5, 6, 7]})

可以使用drop_duplicates()方法删除重复值:

df.drop_duplicates()

输出结果为:

   col1  col2
0     1     4
1     2     5
3     3     6
4     4     7

以上是Python清洗原始数据的详细攻略和两个示例。希望对您有所帮助。