#python #mysql #pandas #matplotlib #seaborn
#python #mysql #pandas #matplotlib #seaborn
Вопрос:
Итак, в основном у меня есть даты в dataframe, как показано ниже:
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns
data = {'date': ['January 2020', 'February 2020', 'March 2020', 'April 2020', 'May 2020'],
'revenue': [29000,31000,32000,25000,34000]}
df = pd.DataFrame(data)
df["date"] = pd.to_datetime(df["date"])
plt.figure(figsize=(14,5))
sns.set()
ax = sns.barplot(data=df, x="date", y="revenue", ci=None)
ax.set_xticklabels(df['date'].dt.strftime('%Y-%m'))
plt.xticks(rotation=45)
plt.show()
Я бы подумал, что это как-то связано с моим SQL-запросом, но другой SQL-запрос в том же ноутбуке работает без каких-либо проблем, даже без необходимости изменять ‘strftime’. Все, что я сделал для этого, это pd.to_datetime(), и он сработал и автоматически отформатировался на графике до «2020-07, 2020-08, 2020-09» и т.д.
Что происходит?
Комментарии:
1. «Я бы подумал, что это как-то связано с моим SQL-запросом, но другой SQL-запрос в той же записной книжке работает без каких-либо проблем», Так вы действительно изучили, что вы получили от SQL-запроса, который вы пытаетесь отобразить? Другой запрос, который выдает разные результаты, не имеет значения.
2. Да, он вернул мне результаты в следующем формате [июнь 2020, июль 2020, август 2020]. Это тот же формат, что и запрос, для которого график работал правильно.