Python 清洗原始数据

  • Post category:Python

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清洗原始数据的完整攻略,包括数据预处理、异常处理、重复数据处理和格式化数据等。