【Python 数据分析】数据预处理:z-score 标准化、min-max 归一化、数据缺失值处理、数据重复处理

原创
ithorizon 8个月前 (09-08) 阅读数 105 #Python

以下是按照您提供的标题编写的一篇涉及Python数据分析中的数据预处理的中文文章。

```html

Python 数据分析:数据预处理

一、z-score 标准化

z-score 标准化是一种常用的数据标准化方法,它将原始数据成为具有零均值和单位标准差的数据。在Python中,我们可以使用numpy库来实现这一操作。

import numpy as np

# 假设data是我们要标准化的数据数组

data = np.array([1, 2, 3, 4, 5])

# 计算均值和标准差

mean = np.mean(data)

std = np.std(data)

# z-score 标准化

standardized_data = (data - mean) / std

print(standardized_data)

h4>二、min-max 归一化

min-max 归一化是一种将数据缩放到特定范围的方法,通常是将数据缩放到[0, 1]区间。在Python中,我们可以使用sklearn库中的MinMaxScaler类来实现这一操作。

from sklearn.preprocessing import MinMaxScaler

# 假设data是我们要归一化的数据数组

data = np.array([1, 2, 3, 4, 5])

# 创建MinMaxScaler实例

scaler = MinMaxScaler()

# 归一化数据

normalized_data = scaler.fit_transform(data.reshape(-1, 1))

print(normalized_data)

三、数据缺失值处理

在现实世界的数据中,缺失值是一个常见问题。处理缺失值有多种方法,如删除、填充等。在Python中,我们可以使用pandas库来处理缺失值。

import pandas as pd

# 假设df是一个包含缺失值的DataFrame

df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, np.nan, 8]})

# 删除缺失值

df_dropped = df.dropna()

# 填充缺失值

df_filled = df.fillna(method='ffill') # 前向填充

df_filled = df.fillna(method='bfill') # 后向填充

df_filled = df.fillna(value=0) # 填充为0

# 打印处理后的数据

print(df_dropped)

print(df_filled)

四、数据重复处理

数据集中的重复数据大概会对分析导致产生影响。在Python中,我们可以使用pandas库来识别和删除重复数据。

import pandas as pd

# 假设df是一个包含重复数据的DataFrame

df = pd.DataFrame({'A': [1, 2, 2, 3], 'B': [1, 1, 1, 2]})

# 检查重复数据

print(df.duplicated())

# 删除重复数据

df_unique = df.drop_duplicates()

# 打印处理后的数据

print(df_unique)

```

请注意,代码示例仅供参考,实际使用时大概需要按照实际数据结构调整。同时,在处理实际问题时,应该按照数据的特点和分析需求选择合适的预处理方法。

本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Python


热门