使用Pandas进行数据清洗与预处理主要包括以下几个步骤:
import pandas as pd
df = pd.read_csv('your_data.csv') # 根据实际情况修改文件路径和格式
print(df.head()) # 查看前几行数据
print(df.info()) # 查看数据类型和缺失值情况
print(df.describe()) # 查看数据的统计描述
print(df.isnull().sum())
# 使用均值填充数值型列的缺失值
df['column_name'].fillna(df['column_name'].mean(), inplace=True)
# 使用众数填充类别型列的缺失值
df['category_column'].fillna(df['category_column'].mode()[0], inplace=True)
# 使用特定值填充缺失值
df['column_name'].fillna('specific_value', inplace=True)
# 删除包含缺失值的行
df.dropna(inplace=True)
# 删除包含缺失值的列
df.dropna(axis=1, inplace=True)
# 将字符串转换为日期时间类型
df['date_column'] = pd.to_datetime(df['date_column'])
# 将字符串转换为数值类型
df['numeric_column'] = pd.to_numeric(df['numeric_column'], errors='coerce')
# 将类别型数据转换为数值型数据
df['category_column'] = df['category_column'].astype('category').cat.codes
from sklearn.preprocessing import StandardScaler, MinMaxScaler
# 标准化
scaler = StandardScaler()
df[['numeric_column1', 'numeric_column2']] = scaler.fit_transform(df[['numeric_column1', 'numeric_column2']])
# 归一化
scaler = MinMaxScaler()
df[['numeric_column1', 'numeric_column2']] = scaler.fit_transform(df[['numeric_column1', 'numeric_column2']])
# 查看重复值
print(df.duplicated().sum())
# 删除重复值
df.drop_duplicates(inplace=True)
df['new_feature'] = df['column1'] + df['column2']
# 使用相关性矩阵选择特征
corr_matrix = df.corr()
selected_features = corr_matrix[corr_matrix['target_column'] > 0.5]['target_column'].index.tolist()
df = df[selected_features]
df.to_csv('cleaned_data.csv', index=False)
import pandas as pd
from sklearn.preprocessing import StandardScaler, MinMaxScaler
# 加载数据
df = pd.read_csv('your_data.csv')
# 查看数据
print(df.head())
print(df.info())
print(df.describe())
# 处理缺失值
df.fillna(df.mean(), inplace=True) # 填充数值型列的缺失值
df.fillna(df.mode()[0], inplace=True) # 填充类别型列的缺失值
# 数据类型转换
df['date_column'] = pd.to_datetime(df['date_column'])
df['numeric_column'] = pd.to_numeric(df['numeric_column'], errors='coerce')
# 数据标准化与归一化
scaler = StandardScaler()
df[['numeric_column1', 'numeric_column2']] = scaler.fit_transform(df[['numeric_column1', 'numeric_column2']])
# 处理重复值
df.drop_duplicates(inplace=True)
# 特征工程
df['new_feature'] = df['column1'] + df['column2']
# 保存清洗后的数据
df.to_csv('cleaned_data.csv', index=False)
通过以上步骤,你可以有效地进行数据清洗与预处理,为后续的数据分析和建模打下坚实的基础。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。