Есть ли способ создать график, основанный на типе данных даты из Excel в Python? - PullRequest
0 голосов
/ 31 октября 2019

Я хочу создать приложение, которое сможет импортировать файл Excel в приложение, а также сгенерировать или отобразить график на основе данных временных рядов, например: дата, год, месяц и т. Д.

Пример графика на основе месяца

Я уже создал функцию просмотра для импорта файла excel с помощью tkinter.

мое приложение

Как мне сгенерировать график на основе доступных данных в импортированном файле Excel?

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Сочетание pandas и библиотеки datetime решит вашу проблему здесь.

Вы можете прочитать в своем файле Excel с помощью модуля pandas, как объяснено в другом ответе.

import pandas as pd
df = pd.read_excel("yourExcelFileName.xlsx")

Затем вам придется выполнить некоторое форматирование, чтобы извлечь нужную информацию о дате. В вашем примере показано количество по месяцам, поэтому давайте использовать его в качестве примера здесь.

# first make sure the column is a datetime object
df['RegistrationDate'] = pd.to_datetime(df['RegistrationDate'])

# Next create a month column
df['RegistrationMonth'] = df['RegistrationDate'].apply(lambda x: x.to_pydatetime().strftime("%B"))

# you could use .strftime("%b") for short month name, e.g. Nov rather than November

# Do a groupby to count by that month
grouped_table = df[['RegistrationMonth', 'Id']].groupby('RegistrationMonth').agg('count')

#finally plot the results:
import matplotlib.pyplot as plt
plt.bar(grouped_table.index, grouped_table['Id'])
plt.show()

Если вы никогда не использовали панд или matplotlib, прежде чем вы, вероятно, в конечном итоге получите много последующих вопросов, но есть многоранее задаваемые вопросы помогут вам в этом.

0 голосов
/ 31 октября 2019

Я рекомендую использовать панды для этого. Вы можете прочитать Excel с пандами, а также создать гистограмму с помощью этого простого подхода:

import pandas as pd
df = pd.read_excel("yourExcelFileName.xlsx")
ax = df.plot.hist(bins=12)

Последний код будет принимать каждый столбец и отображать данные внутри него в виде столбца. Поэтому, если вам не нужны некоторые столбцы из файла Excel, вы можете удалить их или просто создать новый фрейм данных из этих столбцов. Вы можете найти больше информации в официальной документации панд:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.hist.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...