Используя счет из дБ для гистограммы matplotlib, используя pandas? - PullRequest
2 голосов
/ 08 марта 2020

Я пытался научиться анализировать данные, и я пытался написать что-то, чтобы взглянуть на counts различных вещей.

Так что db содержит информацию об авариях в рабочее место, в основном все, что будет заполнено, когда кто-то пострадает, проанализировать и увидеть, когда и где происходят несчастные случаи.

Например, у которого shift больше всего, в каком department, в какое время суток происходит большинство несчастных случаев, и тому подобное.

Я возился и возиться с этим и, кажется, не могу заставить его работать так, как это нужно.

Прямо сейчас, я просто пытаюсь заставить его работать посменно, я чувствую, что могу заставить его работать посменно Я мог бы заставить его работать на все остальное.

Итак, мне нужно показать, сколько несчастных случаев произошло в каждую смену.

Но когда я пытаюсь построить график, он показывает их только через доску. Похоже, он показывает общее количество count всех несчастных случаев за каждую смену. По моему DB у меня 29 разных аварий.

То есть, как на графике:

1A - 29 2A - 29 1B - 29

Когда должно быть что-то вроде

1A - 13 2A - 8 1B - 8

Ive пытался часами, чтобы понять это и не могу понять это.

Я использовал только часть

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

1 Ответ

2 голосов
/ 08 марта 2020

Это должно работать:

df.groupby(['shift']).count()['count'].plot(kind='bar')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...