Python 清洗原始数据是数据清洗中重要的一部分,其主要目的是将原始的数据清洗成可以被分析处理的格式。本攻略将介绍Python清洗原始数据的方法,包括数据预处理、异常处理、重复数据处理和格式化数据等。以下是完整攻略。
数据预处理
数据预处理是数据清洗的第一步,其目的是去除无关数据并格式化数据。下面是一些数据预处理的方法:
1.去除无用信息
首先,我们需要去除无用的信息,例如行号、空格和其他无关信息。可以使用Python中的split()函数分割数据,并使用strip()函数去除空白字符。
data = " 1, 2, 3 "
cleaned_data = [x.strip() for x in data.split(',')]
print(cleaned_data)
输出结果为:
['1', '2', '3']
2.格式化数据
其次,我们需要将数据格式化,以便后续处理。可以使用Python中的字符串格式化来对数据进行格式化。
data = "John,30,New York"
name, age, city = data.split(',')
age = int(age)
print("Name: {}, Age: {}, City: {}".format(name, age, city))
输出结果为:
Name: John, Age: 30, City: New York
异常处理
异常处理是数据清洗中不可或缺的一部分,其目的是处理数据中的异常值。下面是一些异常处理的方法:
1.删除异常值
删除异常值是最简单的异常处理方式,可以使用Python中的if语句来判断数据是否异常,并删除异常值。
data = [1, 2, 3, -1, 4, 5, 6, -4, 7]
cleaned_data = [x for x in data if x >= 0]
print(cleaned_data)
输出结果为:
[1, 2, 3, 4, 5, 6, 7]
2.替换异常值
另一种异常处理方式是替换异常值,可以使用Python中的if语句来判断数据是否异常,并将异常值替换为指定的值。
data = [1, 2, 3, -1, 4, 5, 6, -4, 7]
cleaned_data = [x if x >= 0 else 0 for x in data]
print(cleaned_data)
输出结果为:
[1, 2, 3, 0, 4, 5, 6, 0, 7]
重复数据处理
处理重复数据是数据清洗中必要的一步,其目的是删除重复数据。下面是一些重复数据处理的方法:
1.删除重复数据
可以使用Python中的set()函数来删除重复数据。
data = ['apple', 'banana', 'apple', 'grape', 'orange', 'banana']
cleaned_data = list(set(data))
print(cleaned_data)
输出结果为:
['banana', 'apple', 'orange', 'grape']
2.保留重复数据
另一种方式是保留重复数据,可以使用Python中的collections模块中的Counter()函数来计算重复数据的数量,并保留重复数据。
from collections import Counter
data = ['apple', 'banana', 'apple', 'grape', 'orange', 'banana']
counter_data = Counter(data)
cleaned_data = [x for x in counter_data if counter_data[x] > 1]
print(cleaned_data)
输出结果为:
['apple', 'banana']
格式化数据
格式化数据是数据清洗中必要的一步,其目的是将数据格式化成指定的格式。下面是一些格式化数据的方法:
1.日期格式化
可以使用Python中的datetime模块来格式化日期。
from datetime import datetime
date_str = '2022-01-01'
date_obj = datetime.strptime(date_str, '%Y-%m-%d')
print(date_obj)
输出结果为:
2022-01-01 00:00:00
2.数字格式化
可以使用Python中的format()函数来格式化数字。
number = 1234567890.123456
print("{:,.2f}".format(number))
输出结果为:
1,234,567,890.12
以上就是Python清洗原始数据的完整攻略,包括数据预处理、异常处理、重复数据处理和格式化数据等。