python - Pandas 数据框线图和堆积条形图
问题描述
情况: 我有一个非常小的数据集,其中包含年份列和指示二进制列的事件成功或失败。
我从计算成功和失败事件的二进制列创建了两个系列。
成功事件:
success_count = hungary_data[hungary_data['success']==1]["iyear"].value_counts().sort_index()
success_count
失败事件:
fail_count = hungary_data[hungary_data['success']==0]["iyear"].value_counts().sort_index()
fail_count
问题: 我的问题是我不能在折线图上显示这两个系列,也不能在堆积条形图上显示。
这是我的折线图代码和输出:
plt.plot(success_count, label = "Sikeres támadások")
plt.plot(fail_count, label = "Sikertelen támadások")
plt.ylim(ymin=0)
plt.legend(loc=2)
plt.show()
如您所见,失败的计数根本不显示(但是有一个图例),年份以一半的增量显示(这也是错误的)。
我的堆叠条尝试也失败了:
plt.bar([1989,1990,1991], success_count, label = "Sikeres támadások")
plt.bar([1989,1990,1991], fail_count, label = "Sikertelen támadások")
plt.legend(loc=2)
plt.show()
- 我的代码应该如何显示成功和失败事件的折线图(当一年没有失败尝试时,它应该为零)?
- 为什么以半增量显示年份(年份不应该有小数)以及避免它的解决方案是什么?
- 在堆积条形图的情况下,我的代码应该如何?
提前谢谢你的帮助!
解决方案
试试下面的。
首先,重命名您的success_count
和fail_count
系列:
success_count.rename('Sikeres támadások', inplace=True)
fail_count.rename('Sikertelen támadások', inplace=True)
然后你可以绘制两者concat
中的一个。
pd.concat([success_count, fail_count],axis=1).plot(kind='bar', stacked='True')
推荐阅读
- javascript - node-cron:等待作业完成执行下一个
- python-3.x - 除了 OSError 错误外,我无法设置异常尝试:使用 python3 在 Exscript 中超时
- laravel - 我正在尝试使用 Laravel 作业类在队列中发送电子邮件,但它只是一直说找不到类
- angular - 从路由器加载 URL 以在 NgModule 中使用
- java - 如何使用充气城堡库从 PGP 公钥中获取密钥 ID?
- android - 无法导入 Message 类并在 android studio 的 firebase 中构建消息
- laravel - 如何将输入请求传递给控制器中的 foreach 循环以存储数据
- python - 由函数分配的某些变量未在 python 脚本中分配
- python - 无服务器:SQLAlchemy 挂在 session.commit() 上
- javascript - Javascript 在具有类的元素上切换类