pandas的数据预处理

pandas 中作预处理,经常用到的有以下几种:

  1. 缺失值处理:使用 fillna() 方法填充缺失值。
import pandas as pd
import numpy as np
data = {'A': [1, np.nan, 3, 4, 5],
        'B': [np.nan, 2, 3, np.nan, 5],
        'C': [1, 2, np.nan, 4, 5]}
df = pd.DataFrame(data)
# 使用平均值填充缺失值
df.fillna(df.mean(), inplace=True)
  1. 数据类型转换:使用 astype() 方法将列的数据类型转换为指定类型。
df['A'] = df['A'].astype(int)
  1. 数据去重:使用 drop_duplicates() 方法去除重复的行。
df.drop_duplicates(inplace=True)
  1. 特征缩放:使用 sklearn 中的 MinMaxScaler 或 StandardScaler 类对特征进行缩放。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df[['A', 'B']] = scaler.fit_transform(df[['A', 'B']])
  1. 特征编码:使用 get_dummies() 方法将分类变量转换成哑变量。
df_encoded = pd.get_dummies(df, columns=['category'])
  1. 特征选择:使用相关系数、方差阈值等方法选择相关性强的特征。
corr_matrix = df.corr()
high_correlation_features = corr_matrix[corr_matrix > 0.8]
  1. 数据归一化:使用 sklearn 中的 MinMaxScaler 或 StandardScaler 类对数据进行归一化。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df_normalized = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
  1. 特征降维:使用 PCA 或 LDA 对特征进行降维。
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
df_reduced = pd.DataFrame(pca.fit_transform(df), columns=['PC1', 'PC2'])
  1. 数据平滑:使用 rolling() 方法计算滚动窗口的平均值、中位数或其他统计量。
df['rolling_mean'] = df['A'].rolling(window=3).mean()
  1. 数据规范化:使用 sklearn 中的 normalize() 方法对数据进行规范化。
from sklearn.preprocessing import normalize
df_normalized = pd.DataFrame(normalize(df), columns=df.columns)

已发布

分类

标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注