Это кажется таким простым, но я не могу с этим разобраться. 1001 *
Я новичок в Python и Seaborn, и я делаю все это онлайн в PythonAnywhere.
Все, что я пытаюсь сделать, - это создать простую полосу в морском заливе с правильно упорядоченными датами (то есть по возрастанию слева направо) по оси x.
Когда я пытаюсь это сделать:
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
import pandas as pd
import seaborn as sns
emp = pd.DataFrame([[32, "5/31/2018"], [3, "2/28/2018"], [40, "11/30/2017"], [50, "8/31/2017"], [51, "5/31/2017"]],
columns=["jobs", "12monthsEnding"])
fig = plt.figure(figsize = (10,7))
sns.barplot(x = "12monthsEnding", y = "uniqueClientExits", data = emp,
estimator = sum, ci = None)
fig.autofmt_xdate()
plt.show()
Я получаю это:
Красивая гистограмма с упорядоченными датами по убыванию слева направо
А потом, когда я пытаюсь преобразовать объекты в datetime:
(примечание: я использую pd.to_datetime () ниже, чтобы попытаться воссоздать то, что происходит, когда я использую parse_dates в pd.read_csv (), именно так я на самом деле создаю фрейм данных.)
emp = pd.DataFrame([[32, pd.to_datetime("5/31/2018")], [3, pd.to_datetime("2/28/2018")], [40, pd.to_datetime("11/30/2017")], [50, pd.to_datetime("8/31/2017")], [51, pd.to_datetime("5/31/2017")]],
columns=["jobs", "12monthsEnding"])
fig = plt.figure(figsize = (10,7))
sns.barplot(x = "12monthsEnding", y = "uniqueClientExits", data = emp,
estimator = sum, ci = None)
fig.autofmt_xdate()
plt.show()
Я получаю это:
Гистограмма с датами в правильном порядке, но НЕПРАВИЛЬНЫЙ формат
Я получаю ту же гистограмму с правильно упорядоченными датами, но в полном длинном формате даты-времени, со временем и т. Д. Но все, что мне нужно, это день / месяц / год.
Я искал stackoverflow уже два дня, и ничего не помогло. Я начинаю задаваться вопросом, является ли отчасти причина в том, что я работаю над PythonAnywhere. Но я также не могу найти причину, почему это будет.
Это сводит меня с ума. Ждем любую помощь. Спасибо.