猿问

熊猫数据框线图和堆积条形图

情况: 我有一个非常小的数据集,其中有一个year列,并且一个事件成功或失败指示二进制列。

我从二进制列创建了两个系列,分别计算成功事件和失败事件。

成功的事件:

success_count = hungary_data[hungary_data['success']==1]["iyear"].value_counts().sort_index()
success_count

输出:

http://img2.mukewang.com/60aca9a000010e9302570089.jpg

失败的事件:

fail_count = hungary_data[hungary_data['success']==0]["iyear"].value_counts().sort_index()
fail_count


输出:

http://img.mukewang.com/60aca9b000010a2002560042.jpg

问题: 我的问题是我无法在线图上显示这两个系列,也无法在堆叠的条形图上显示。


这是我的代码和折线图的输出:


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()


输出:

http://img1.mukewang.com/60aca9be00015bd304710310.jpg

如您所见,失败计数根本没有显示(但是有一个图例),年份以半增量显示(这也是错误的)。


我的堆叠酒吧尝试也失败了:


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()


输出: 问题:

http://img1.mukewang.com/60aca9cc00014d5d04850313.jpg

  1. 为了同时显示成功事件和失败事件的线图,我的代码应如何显示(当一年没有失败尝试时,应该为零)?

  2. 为什么以半增量显示年份(年份应该没有小数),如何避免呢?

  3. 如果是堆叠条形,我的代码应如何显示?

提前谢谢你的帮助!


炎炎设计
浏览 107回答 1
1回答

哆啦的时光机

尝试以下方法。首先,将您的success_count和fail_countSerieses重命名: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')
随时随地看视频慕课网APP

相关分类

Python
我要回答