Python 清洗原始数据

yizhihongxing

Python是一种功能强大的编程语言,可用于处理和清洗原始数据。下面是Python清洗原始数据的完整攻略:

1. 导入需要使用的库

在Python中清洗数据通常需要用到一些常见的库,比如pandas、numpy和re。可以使用以下语句导入这些库:

import pandas as pd
import numpy as np
import re

2. 读取原始数据

在开始清洗数据前,需要先读取原始数据。通常需要将数据保存在CSV、Excel或文本文件中。可以使用pandas的read_csv、read_excel和read_table等函数读取数据。

data = pd.read_csv('data.csv')

3. 检查数据

在清洗数据之前,需要先检查数据的质量。可以使用pandas和numpy库等工具完成数据清理和筛选。

# 检查数据是否有缺失值
print(data.isnull().sum())

# 删除空白字符
data.replace('', np.nan, inplace=True)
data.dropna(inplace=True)

# 删除重复项
data.drop_duplicates(inplace=True)

4. 数据规范化

在数据检查完成后,可以对数据进行规范化操作,例如转换大小写、删除标点符号和删除特殊字符等。

# 转换大小写
data['name'] = data['name'].str.lower()

# 删除标点符号
data['description'] = data['description'].apply(lambda x: re.sub('[^\w\s]', '', x))

# 删除特殊字符
data['text'] = data['text'].apply(lambda x: x.encode('ascii', 'ignore').decode('ascii'))

5. 数据转换

在数据检查及规范化完成后,可以进行数据转换操作,例如字符串转换为日期格式、数值格式和布尔格式等。

# 字符串转换为日期格式
data['date'] = pd.to_datetime(data['date'])

# 字符串转换为数值格式
data['sales'] = pd.to_numeric(data['sales'])

# 字符串转换为布尔格式
data['flag'] = data['flag'].map({'Y': True, 'N': False})

6. 数据存储

在完成数据清洗和转换后,可以将数据保存到文件中。可以使用pandas的to_csv、to_excel和to_sql等函数保存数据。

data.to_csv('cleaned_data.csv', index=False)

以下是两个示例:

示例1:清洗电商网站商品数据

假设有一个电商网站的商品数据文件,包含名称、价格、销售量、描述等字段,需要对数据进行清洗处理。假设数据文件名为“product.csv”,数据格式如下:

name,price,sales,description
iPhone XR,8999,100,"Apple iPhone XR 64GB 手机 黑色 4G全网通 双卡双待 游戏长续航 全面屏拍照手机"
小米电视4,2999,200,"小米电视4 65英寸 HDR 4K高清智能语音网络液晶平板电视"
华为MateBook X Pro,7999,50,"HUAWEI 华为MateBook X Pro 13.9英寸笔记本电脑 (i5-8250U 8G 256G+MX150 2G独显) 四核超轻苗条 全面屏德国莱茵认证"
华硕ROG游戏本,13999,20,"ASUS 华硕 ROG GM501GI 15.6英寸游戏本 笔记本电脑(i7-8750H 16G 256GSSD+1T GTX1080 8G 全屏)"

可以使用以下代码进行数据清洗:

import pandas as pd
import numpy as np
import re

# 读取原始数据
data = pd.read_csv('product.csv')

# 检查数据
print(data.isnull().sum())
data.replace('', np.nan, inplace=True)
data.dropna(inplace=True)
data.drop_duplicates(inplace=True)

# 数据规范化
data['name'] = data['name'].str.lower()
data['description'] = data['description'].apply(lambda x: re.sub('[^\w\s]', '', x))

# 数据转换
data['price'] = pd.to_numeric(data['price'])
data['sales'] = pd.to_numeric(data['sales'])

# 存储数据
data.to_csv('cleaned_product.csv', index=False)

上述代码将清洗后的数据保存在“cleaned_product.csv”文件中。

示例2:清洗新闻数据

假设有一个新闻网站的数据文件,包含标题、内容、发布时间、作者等字段,需要对数据进行清洗处理。假设数据文件名为“news.csv”,数据格式如下:

title, content, date, author
习近平主席发表2021年新年贺词, “过去一年,我们面对前所未有的困难和挑战,但我们众志成城、共克时艰,绘就了团结抗疫的壮丽画卷!”,"2021/1/1","习近平"
特朗普被弹劾, “这是我们保卫宪法、维护民主、维护国家尊严的举措!”,"2021/1/13","Joe Biden"

可以使用以下代码进行数据清洗:

import pandas as pd
import numpy as np
import re

# 读取原始数据
data = pd.read_csv('news.csv')

# 检查数据
print(data.isnull().sum())
data.replace('', np.nan, inplace=True)
data.dropna(inplace=True)
data.drop_duplicates(inplace=True)

# 数据规范化
data['title'] = data['title'].str.lower()
data['content'] = data['content'].apply(lambda x: re.sub('[^\w\s]', '', x))

# 数据转换
data['date'] = pd.to_datetime(data['date'])

# 存储数据
data.to_csv('cleaned_news.csv', index=False)

上述代码将清洗后的数据保存在“cleaned_news.csv”文件中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 清洗原始数据 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • Python3.6+selenium2.53.6自动化测试_读取excel文件的方法

    下面我将详细讲解 “Python3.6+selenium2.53.6自动化测试_读取excel文件的方法”的完整实例教程。 确认环境 首先要确保你已经安装了Python3和selenium库,否则需要先安装它们。 在Python3中安装selenium的命令: pip3 install selenium==2.53.6 同时还需要安装一个操作Excel的库x…

    python 2023年5月13日
    00
  • python如何删除文件、目录

    当需要删除文件或目录时,Python提供了一个名为os的模块,其中有删除文件和目录的方法。 删除文件 os.remove()方法可用于删除单个文件。要删除文件,请传递文件的名称和路径作为参数。 import os # 删除文件 os.remove("path/to/file.txt") 删除目录 要删除目录及其内容,您可以使用shutil…

    python 2023年6月2日
    00
  • 在 cx_Freeze 之后 Python 脚本未写入文件

    【问题标题】:Python script not writing on files after cx_Freeze在 cx_Freeze 之后 Python 脚本未写入文件 【发布时间】:2023-04-02 10:19:02 【问题描述】: 我正在编写一个打算用 cx_Freeze 冻结的脚本。我正在使用 Python 3.6 和 cx_Freeze 5.…

    Python开发 2023年4月8日
    00
  • Python实现截取PDF文件中的几页代码实例

    Python实现截取PDF文件中的几页代码实例 在Python中使用PyPDF2库,可以轻松地截取PDF文件中的几页,并保存为新的PDF文件。 步骤 步骤1:安装PyPDF2库 在终端或命令提示符中运行以下命令: pip install PyPDF2 步骤2:导入PyPDF2库 在Python脚本中导入PyPDF2库: import PyPDF2 步骤3:截…

    python 2023年6月6日
    00
  • 如何使用 Redis 的地理空间索引功能?

    以下是详细讲解如何使用 Redis 的地理空间索引功能的完整使用攻略。 Redis 地理空间索引简介 Redis 是一种高性能的键值存储数据库,支持多种数据结构和高级功能。其中,地理空间索引是 Redis 的一个重要功能,可以用于存储和查询地理位置信息。Redis 地理空间索引的特点如下: Redis 地理空索引是基于经纬度的,可以存储和查询地理位置信息。 …

    python 2023年5月12日
    00
  • Python OpenCV实现姿态识别的详细代码

    让我们来详细讲解一下Python OpenCV实现姿态识别的详细代码攻略。 一、简介 Python OpenCV是一种基于Python编程语言和OpenCV计算机视觉库的姿态识别方法。它可以用于检测人脸姿态、特定物品的位置和方向等。在本攻略中,我将介绍如何使用Python OpenCV实现姿态识别,包括识别姿态的步骤和实现姿态识别的详细代码。 二、步骤 1.…

    python 2023年5月18日
    00
  • Python利用PyExecJS库执行JS函数的案例分析

    下面是详细讲解“Python利用PyExecJS库执行JS函数的案例分析”的完整攻略。 1. PyExecJS库简介 PyExecJS是一个运行不同JavaScript实现的Python库,它提供了一种简洁的方式,在Python中调用JavaScript代码。通过它,我们可以让Python调用JavaScript函数,从而实现更复杂的功能。PyExecJS通…

    python 2023年5月18日
    00
  • Python使用Excel将数据写入多个sheet

    下面是Python使用Excel将数据写入多个sheet的完整实例教程。 环境准备 我们需要安装 openpyxl 库,它是一个用于读写Excel文件的Python模块,可以通过以下命令进行安装: pip install openpyxl 实例说明1 假设我们有一个学生成绩表格,其中有三个学科:语文、数学、英语,现在我们要将学生成绩按照不同学科写入不同的sh…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部