相关疑难解决方法(0)

Python创建条形图比较2组数据

我有一本带2 *条形图的笔记本,一个是冬季数据,一个是夏季数据。我已经使用代码计算了所有犯罪的总数并将其绘制在条形图中:

ax = summer["crime_type"].value_counts().plot(kind='bar')
plt.show()
Run Code Online (Sandbox Code Playgroud)

该图显示如下:

在此处输入图片说明

我有另一张图表几乎相同,但对于冬季:

ax = winter["crime_type"].value_counts().plot(kind='bar')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想在同一条形图中将这两个图表相互比较(x轴上的每个犯罪都有2个条形,一个冬天一个夏天)。

我已经尝试过了,这只是我的尝试:

bx = (summer["crime_type"],winter["crime_type"]).value_counts().plot(kind='bar')
plt.show()
Run Code Online (Sandbox Code Playgroud)

任何意见,将不胜感激!

python bar-chart pandas

5
推荐指数
1
解决办法
3886
查看次数

如何在Pandas中创建groupby子图?

我有一个带有犯罪时间序列数据的数据框,其中有一个攻击方面(看起来像下面的格式).我想对数据框进行分组绘图,以便随着时间的推移探索犯罪趋势.

    Offence                     Rolling year total number of offences       Month
0   Criminal damage and arson   1001                                        2003-03-31
1   Drug offences               66                                         2003-03-31
2   All other theft offences    617                                   2003-03-31
3   Bicycle theft               92                                    2003-03-31
4   Domestic burglary           282                                   2003-03-31
Run Code Online (Sandbox Code Playgroud)

我有一些代码可以完成这项工作,但它有点笨拙并且它丢失了Pandas在单个绘图上提供的时间序列格式.(我已经包含了一张图片来说明).任何人都可以建议我可以使用这种情节的成语吗?

我会转向Seaborn,但我无法弄清楚如何将xlabel格式化为时间序列.

[![subs = \[\]
for idx, (i, g) in enumerate(df.groupby("Offence")):
        subs.append({"data": g.set_index("Month").resample("QS-APR", how="sum" ).ix\["2010":\],
                     "title":i})

ax = plt.figure(figsize=(25,15))
for i,g in enumerate(subs):
    plt.subplot(5, 5, i)
    plt.plot(g\['data'\])
    plt.title(g\['title'\])
    plt.xlabel("Time")
    plt.ylabel("No. of crimes")
    plt.tight_layout()][1]][1]
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas seaborn

4
推荐指数
1
解决办法
4289
查看次数

比较行时如何绘制条形图?

我在此数据集上绘制条形图时遇到麻烦。

+------+------------+--------+
| Year | Discipline | Takers |
+------+------------+--------+
| 2010 | BSCS       |   213  |
| 2010 | BSIS       |   612  |
| 2010 | BSIT       |   796  |
| 2011 | BSCS       |   567  |
| 2011 | BSIS       |   768  |
| 2011 | BSIT       |   504  |
| 2012 | BSCS       |   549  |
| 2012 | BSIS       |   595  |
| 2012 | BSIT       |   586  |
+------+------------+--------+
Run Code Online (Sandbox Code Playgroud)

我正在尝试绘制一个条形图,该条形图用3条形表示每年的接受者数量。这是我做的算法。

import matplotlib.pyplot as plt
import …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-3.x pandas jupyter-notebook

3
推荐指数
1
解决办法
98
查看次数

Groupby 两列和条形图第三列 pandas

我有一个数据框如下,我想通过对模型和调度程序列进行分组来绘制多个条形图。例如第一个多条属于 ecaresnet50t 三个不同的调度程序并代表 mae 分数。第二个三个多重条代表resnest50d调度器的mae等等

         model     scheduler    mae
0   ecaresnet50t      warm      4.518
1   ecaresnet50t      cosine    4.46
2   ecaresnet50t      constant  4.972
3   resnest50d        warm      4.056
4   resnest50d        cosine    4.1
5   resnest50d        constant  5.072
6   resnetrs50        warm      4.164
7   resnetrs50        cosine    4.154
8   resnetrs50        constant  4.644
9   seresnet50        warm      4.202
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的事情 (df.groupby(['model','scheduler'])['mae'].plot.bar()) 但它不起作用

python matplotlib pandas

1
推荐指数
1
解决办法
1434
查看次数