python - 在 matplotlib 中使用 3 个变量绘制条件
问题描述
嗨,我有如下数据。
我需要动态编写代码来输入我的年份并在月份和消息数量之间绘制图表。我的数据中的 2016 年只有 6 个月,其余时间不存在。
我尝试将年份设置为索引并尝试绘图。
dff[dff.index == 2015].plot(marker='*')
但是我做的情节不是必需的。
解决方案
使用boolean indexing
orquery
进行过滤,然后plot
使用参数x
and y
:
year = 2014
df[df['year'] == year].plot(x='month', y='Number of messages', marker='*')
或者:
df.query("year == @year").plot(x='month', y='Number of messages', marker='*')
另一种方法是按列绘制Series
索引:Month
df = df.set_index('month')
df.loc[df['year'] == year, 'Number of messages'].plot(marker='*')
df.set_index('month').query("year == @year")['Number of messages'].plot(marker='*')
推荐阅读
- python-3.x - 努力使用 PYMC3 实现一个非常基本的(3 个分类变量)贝叶斯网络
- android - 构建版本代码 O 无法正确识别
- .htaccess - 使用 htaccess 删除 url 域中出现的文件夹的名称
- amazon-web-services - AWS Cloudformation 将条件函数解释为资源属性
- java - Selenium:模式内容中的按钮不可点击
- node.js - 无法让我的节点应用程序使用单独的 docker compose 文件连接到 kafka
- c - void函数:将垃圾从数组变量返回到C中的main
- angular - 如何在Angular ui-grid中隐藏展开按钮列以对网格进行分组
- c# - 在 IMultiValueConverter 上不实现 ConvertBack 的正确方法
- python - scipy最小化并不总是解决函数