我一直在尝试学习一些数据分析,并且一直在尝试写一些东西来研究不同事物的“计数”。
因此,db具有有关工作场所事故的信息,基本上是当有人受伤时可以填写的所有内容,以便分析并查看事故发生的时间和地点。
例如,哪个“班次”的事故最多,哪个“部门”的事故,一天中什么时候发生的事故最多,诸如此类。
我一直在搞乱它,似乎无法像id那样使它工作。
现在,我只是想让它为轮班工作,我感觉好像我可以让它为轮班工作我可能可以让它为其他所有事情工作。
因此,我需要它来显示每个班次发生了多少事故。
但是当我尝试制作图表时,它甚至只显示了整个图表。看起来它显示了每个班次下所有事故的总“计数”。在我的DB中,我发生了29次不同的事故。
所以就像图所示
1A-29 2A-29 1B-29
什么时候应该是这样
1A-13 2A-8 1B-8
我已经尝试了好几个小时来解决这个问题,但似乎无法解决。
我只用了
counter = df.groupby(['shift'])['shift']。count()print(counter)
看看它是否在给我我想要的信息,它做了。当我将其制作成图表时,我只是无法使它正确执行。
import pandas as pd
import sqlite3
import numpy as np
import matplotlib.pyplot as plt
conn = sqlite3.connect('accident.db')
c = conn.cursor()
df = pd.read_sql_query("Select * from accidents", conn)
df['count'] = 1
counter = df.groupby(['shift']) ['shift'].count()
print(counter)
plt.bar(df['shift'], df['count'].count())
plt.show()
c.execute("""CREATE TABLE IF NOT EXISTS accidents(
reference real,
first text,
last text,
date real,
time real,
department text,
class text,
type text,
shift blob
)""")
#
conn.commit()
conn.close()
问题来源:stackoverflow
看上去可能需要这样:
df.groupby(['shift'])
.count()['count']
.plot(kind='bar')
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。