Python使用Pandas读取CSV并排序绘图教程

Ada
Ada
发布时间:2026-10-12| 1人浏览过
原创

本文介绍如何使用Python的Pandas库读取CSV文件,通过sort_values函数对指定数值列进行排序,并结合Matplotlib生成排序前后的对比图表,帮助快速完成数据清洗与基础可视化。

Python读取CSV文件并按列排序绘图的完整步骤

CSV(Comma-Separated Values)是一种以纯文本形式存储表格数据的通用格式,常用于程序间的数据交换与爬虫结果暂存。配合Python生态中的Pandas与Matplotlib,可高效完成读取、排序与绘图操作。

第1步:读取CSV并指定目标列

目的:加载外部数据表,过滤首列无用信息,仅保留用于后续排序与绘图的横纵坐标字段。

入口与动作:调用pd.read_csv()加载源文件。设置header=0标识首行为表头;通过usecols=[1,2]精准限定读取第二列与第三列,完成数据切片后返回DataFrame对象。

# 读取scalars.csv,仅提取索引为1和2的列
txt = pd.read_csv('scalars.csv', header=0, usecols=[1,2])

可观察的完成状态:控制台无报错,变量txt成功实例化,打印txt.head()可见仅保留Step与Value两列数据。

第2步:按指定列执行升序排列

目的:根据目标列的数值大小重新组织行数据顺序,消除原始杂乱分布。

入口与动作:调用txt.sort_values()方法。by=["Value"]锁定排序基准列;ascending=True明确从小到大排列(若需逆序改为False)。执行后原DataFrame保持不变,需接收返回值。

# 获取按Value列升序重排后的新DataFrame
txt2 = txt.sort_values(by=["Value"], ascending=True)

可观察的完成状态:变量txt2中的数据行按Value字段严格递增,打印末尾几行可见最大数值位于最后。

第3步:绘制排序前后对比折线图

目的:直观展示调整数据顺序前后,横纵坐标对应关系的变化轨迹。

入口与动作:使用plt.figure(figsize=(10,6),dpi=100)初始化画布。依次调用plt.plot()分别传入原始数据(txt['Step'], txt['Value'])与排序后数据(txt['Step'], txt2['Value']),每次绘图后紧跟plt.show()触发窗口渲染。

plt.figure(figsize=(10,6), dpi=100)
plt.plot(txt['Step'], txt['Value'])
plt.show()
plt.plot(txt['Step'], txt2['Value'])
plt.show()

可观察的完成状态:弹出图形窗口显示两组折线,第一条呈现随机波动状,第二条呈现阶梯式上升或平滑趋势,窗口关闭后循环继续。

关键参数说明与逻辑核对

  • usecols参数支持传入列名列表或整数索引,正确配置可显著降低内存消耗,避免载入无关字段。
  • sort_values的by参数若填入单列可不加列表包裹,多列排序时推荐始终使用[]语法防止解析歧义。
  • Matplotlib默认按横轴X坐标顺序连线,排序操作本质是改变行的物理顺序,因此重绘后可看到线条走向完全重塑。

简要总结

通过Pandas的行列选择与排序接口,结合Matplotlib的基础绘图能力,仅需数行代码即可实现CSV数据的高效处理与可视化呈现。掌握read_csv的过滤技巧与sort_values的参数组合,能够覆盖绝大多数日常数据整理需求。

以上就是Python读取CSV文件并按列排序绘图文档的详细内容,更多关于Python数据处理技巧的资料请关注本站其它相关文章!

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

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 算法库。