请教包含大量数据的 CSV 文件处理方法

2022-03-28 21:51:27 +08:00
 sober1215zxy

背景: 1.应用运行数据记录在 CSV 文件里,一秒记录一次,运行时间大概在 1-10 小时左右 2.实际输出 CSV 文件表头:时间|A|B|C|D|E…… 3.基本功能是绘制出 A|B|C 等随时间的变化曲线( csv 文件太多的时候用 EXCEL 绘制太麻烦)

需求: 1.可以有一个界面勾选想要的元素随时间的变化曲线(一条或多条曲线) 2.在一个界面绘制出核心参数 A 随时间变化曲线的同时,鼠标放在曲线相应位置可以显示出关联数据 B 、C 、D……等

刚开始学习 Python ,想做一个小工具来做数据处理和可视化。之前接触过一点数据处理,不知道用 Pandas + matplotlib 进行绘图可否实现上述效果?界面的话想了解一下 Python 哪些库做这个会合适一点?

2203 次点击
所在节点    Python
9 条回复
qianxaingmoli
2022-03-28 22:10:30 +08:00
我觉得 pandas+echarts 可行
jorneyr
2022-03-28 22:20:08 +08:00
对 csv 的行做索引吧,显示的时候跳到文件位置进行读取。
Thymolblue
2022-03-28 23:07:39 +08:00
感觉 numpy 应该就可以胜任数据容器的工作
想要界面是不是得和 pyqt 配合一下(这部分我没接触过,我只用过 Qt C++),利用 Qt 的 mouseevent 就能实现显示关联数据的功能,然后再定时更新 QXYSeries 里的内容就能实现曲线更新。
(我也是新手,如果有更好的方法大家请指正哈)
noqwerty
2022-03-28 23:37:20 +08:00
pandas + plotly 很方便: https://plotly.com/python/time-series/
TimePPT
2022-03-29 10:29:53 +08:00
理论上 jupyter 里配上 pandas 和随便一个交互可视化库就 OK
如果需要封成桌面 GUI ,可以参考下 https://github.com/hoffstadt/DearPyGui
sober1215zxy
2022-04-03 15:08:47 +08:00
@qianxaingmoli 谢谢,我看到有 pyecharts 这个库了
sober1215zxy
2022-04-03 15:10:54 +08:00
@TimePPT 好的,感谢回复,我学习一下。
sober1215zxy
2022-04-03 15:11:43 +08:00
@noqwerty 是的,pandas 处理起来方便很多。
sober1215zxy
2022-04-03 15:12:59 +08:00
@Thymolblue 谢谢,正在看 PtQt5 相关的东西,感觉目前 GUI 用的用这个比较多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843486

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX