python - 从 excel 文件和 Pandas (python) 绘制更多图表
问题描述
我有一个.xlsx
结构如下的文件
现在,我知道如何通过 pandas 函数操作表中的数据了。但是,我正在(不成功,我应该说)寻找一种方法在同一图形区域中绘制由第 2 列中的标志 A、B、C 标记的三条曲线,使用第 3 列作为 x 轴,第 9 列作为 y-轴。
我在这里以“复制粘贴”合适的形式复制表格
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9
1 FlagA 5743 bla bla 0.02% 13-Apr-18 DS Y 17229
2 FlagA 654 bla bla -0.89% 13-Apr-18 DS Y 1962
3 FlagA 543 bla bla -0.74% 13-Apr-18 DS Y 1629
4 FlagA 321 bla bla -0.56% 13-Apr-18 DS Y 963
5 FlagA 8765 bla bla -0.37% 13-Apr-18 DS Y 26295
6 FlagA 98769 bla bla 3.75% 13-Apr-18 DS Y 296307
7 FlagA 943 bla bla 4.01% 13-Apr-18 DS Y 2829
8 FlagA 7986 bla bla 4.04% 13-Apr-18 DS Y 23958
9 FlagA 54343 bla bla 3.27% 13-Apr-18 DS Y 163029
10 FlagB 876856 bla bla 4.16% 13-Apr-18 DS Y 2630568
11 FlagB 36854 bla bla 3.36% 13-Apr-18 DS Y 110562
12 FlagB 3644 bla bla 4.21% 13-Apr-18 DS Y 10932
13 FlagC 68 bla bla 3.51% 13-Apr-18 DS Y 204
14 FlagC 354 bla bla 3.70% 13-Apr-18 DS Y 1062
15 FlagC 568748 bla bla 1.66% 13-Apr-18 DS Y 1706244
16 FlagC 64 bla bla 2.00% 13-Apr-18 DS Y 192
解决方案
你可以这样尝试:
for flag, data in df.groupby('Col2'):
plt.plot(data['Col3'], data['Col9'], label=flag)
plt.legend()
plt.show()
要添加条件,只需使用if
语句:
for flag, data in df.groupby('Col2'):
if flag != 'FlagC':
plt.plot(data['Col3'], data['Col9'], label=flag)
推荐阅读
- javascript - 为什么数组没有传递所有值js
- python - 尽管存在传输,但由于缺少传输,Python AsyncIO 无法创建协议
- php - .htaccess 不工作并给我一个“500 内部服务器错误”警告
- java - 删除字符并将其添加到字符串递归
- math - 在 Idris 中,为什么接口参数必须是类型或数据构造函数?
- javascript - React Router 4——监听路由动作并以编程方式继续/停止路由
- android - 检查路线是否包含特定坐标
- css - CSS 过渡不适用于高度:0(但适用于其他高度)
- python - 将字典转换为 Json 并附加到文件
- timer - VHDL 中的 BCD 定时器