pandas数据集的端到端处理

Finn
Finn
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍利用pandas进行数据集端到端处理的流程,涵盖从基本信息查看、统计分析及直方图绘制,到数据集拆分、分类特征转换及缺失值填充等关键步骤。通过具体代码示例,帮助读者掌握数据清洗与预处理的核心技巧。

1. 数据集基本信息

df = pd.read_csv()

使用 df.head() 可以查看数据的前五行,以便快速了解数据结构。

df.info() 用于获取数据框的整体信息概览。

  • RangeIndex 表示行索引信息;
  • Data columns 显示列索引及非空值数量;
  • Dtypes 列出各列的数据类型,
  • 主体部分展示各列的基本统计情况,例如可以通过此信息判断是否存在 NaN 缺失值;

针对非数值型的属性列,

  • 可以使用 df['some_categorical_columns'].value_counts() 来查看取值分布情况;

df.describe() 提供各个数值列的基本统计信息。

  • count:非空值计数
  • mean:平均值
  • std:标准差
  • min/max:最小/最大值
  • 25%, 50%, 75%:分别对应第25、50(中位数)、75百分位数

df.hist(bins=50, figsize=(20, 15)) 用于生成统计直方图;

该操作会对 df 中的每一列进行可视化展示:

train_prices = pd.DataFrame({'price': train_df.SalePrice, 
    'log(price+1)': np.log1p(train_df.SalePrice)})
 # train_prices 共两列,一列列名为 price,一列列名为 log(price+1)
train_prices.hist()

2. 数据集拆分

def split_train_test(data, test_ratio=.3):
 shuffled_indices = np.random.permutation(len(data))
 test_size = int(len(data)*test_ratio)
 test_indices = shuffled_indices[:test_size]
 train_indices = shuffled_indices[test_size:]
 return data.iloc[train_indices], data.iloc[test_indices]

3. 数据预处理

  • 实现一键将 categorical 类型特征(字符串类型)转化为数值型编码:
>> df['label'] = pd.Categorical(df['label']).codes
  • 实现一键将 categorical 类型特征(字符串类型)转化为 one-hot 独热编码:
>> df = pd.get_dummies(df)
  • null 值统计与填充处理:
>> df.isnull().sum().sort_values(ascending=False).head()
# 填充为 mean 值
>> mean_cols = df.mean()
>> df = df.fillna(mean_cols)
>> df.isnull().sum().sum()
0

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对本站的支持。如果你想了解更多相关内容请查看下面相关链接

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。