数据分析 — Pandas 数据加载、存储和清洗-四、应用

时间:2024-02-18 14:21:42

按需求清洗数据

import pandas as pd  # 导入 Pandas 库并使用别名 pd
import numpy as np  # 导入 NumPy 库并使用别名 np
# 读取 CSV 文件到 DataFrame,设置第一列为索引
data = pd.read_csv(r'F:\data\电子产品销售分析.csv', index_col=0)
# 显示数据集的前几行
data.head()

在这里插入图片描述

# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 处理 'event_time' 列,提取日期和时间
f = lambda x: x.split(' ')[0]  # 定义匿名函数提取日期
data['date'] = data['event_time'].map(f)  # 创建新的 'date' 列存储日期
# 显示数据集的前几行
data.head()

在这里插入图片描述

f = lambda x: x.split(' ')[1]  # 定义匿名函数提取时间
data['time'] = data['event_time'].map(f)  # 创建新的 'time' 列存储时间
# 显示数据集的前几行
data.head()

在这里插入图片描述

# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 将 'date' 列转换为日期格式
data['date'] = pd.to_datetime(data['date'])
# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 提取日期中的月份,年份和季度
data['month'] = data['date'].dt.month
data['year'] = data['date'].dt.year
data['quarter'] = data['date'].dt.quarter
# 显示数据集的前几行
data.head()

在这里插入图片描述

# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 将 'user_id' 和 'category_id' 列转换为整数类型
data['user_id'] = data['user_id'].astype('int')
data['category_id'] = data['category_id'].astype('int')
# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 检查数据集中的缺失值
data.isnull().sum()
# 将 'category_code' 列的空值填充为 'N'
data['category_code'].fillna('N', inplace=True)
# 查看数据集的概览信息
data.info()

在这里插入图片描述

# 删除数据集中的重复值
data.drop_duplicates(inplace=True)
# 检查数据集中的异常值,使用 describe() 默认只统计数值数据
data.describe(include='all')
# 按条件筛选数据集,保留 'date' 大于等于 '2020-01-01' 的行
data2 = data[data['date'] >= '2020-01-01']
# 显示数据集的前几行
data2.head()

在这里插入图片描述

# 打印筛选后的数据集的形状
data2.shape  # (562188, 16)