Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
24.10.2023
Размер:
1 Кб
Скачать
import psycopg2
import pandas as pd
import matplotlib.pyplot as plt

def graph_column(column_name):
    # Connect to the database
    conn = psycopg2.connect(database="students", user="postgres", password="123", host="127.0.0.1", port="5432")
    cursor = conn.cursor()

    # Run the SQL query
    query = "SELECT e.department_id, MIN(e.{}) as min_value, m.last_name as manager_last_name " \
            "FROM employees e " \
            "JOIN employees m ON e.manager_id = m.employee_id " \
            "GROUP BY e.department_id, m.last_name ".format(column_name)
    cursor.execute(query)

    # Fetch the result and store it in a Pandas dataframe
    result = cursor.fetchall()
    df = pd.DataFrame(result, columns=["department_id", "min_value", "manager_last_name"])

    # Plot the data
    plt.bar(df["manager_last_name"], df["min_value"])
    plt.xlabel("Manager Last Name")
    plt.ylabel("Minimum {}".format(column_name))
    plt.title("Minimum {} by Manager".format(column_name))
    plt.show()

    # Close the cursor and connection
    cursor.close()
    conn.close()

graph_column('salary')
Соседние файлы в папке Python