#python #pandas #seaborn
#python #панды #seaborn
Вопрос:
Я не знаю, почему каждый раз, когда я строю график с помощью seaborn, он всегда показывает весь объект date, как показано ниже.
Я уже проверил, что мой «join_date» является объектом, а не datetime.
Кто-нибудь знает, в чем проблема и как я могу ее исправить?
Ответ №1:
Одним из решений может быть то, что вы можете изменить метод datetime object
перед построением графика с помощью to_period
. Вот пример:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
#generating some test data
days = pd.date_range('1/1/2000', periods=8, freq='D')
d2 = dict({'price': [10, 11, 9, 13, 14, 18, 17, 19]})
df = pd.DataFrame(d2,index=days)
print(df)
#making join_date a datetime object
#df['join_date'] = pd.to_datetime(df['join_date'])
#setting join_date as index of the dataframe
#df.set_index(['join_date'],inplace=True)
#reducing the datetime object assuming the datetime is index and it is in pandas datetime format
df.index = df.index.to_period("D")
#plotting the heatmap
sns.heatmap(data=df)
plt.tight_layout()
plt.show()
Исходное завершение:
Окончательный вывод после использования to_period
:
Комментарии:
1. добавлен ответ. Дайте мне знать, если это сработает для вас. Если это произойдет, пожалуйста, рассмотрите возможность принятия ответа.
2. Спасибо за вашу помощь! Но я нашел прямой ответ ~ По-видимому, объект Date изменяется на индекс Datetime во время процесса, поэтому все, что вам нужно сделать, это просто изменить индекс Datetime обратно на str. Вы можете проверить тип индекса сводной таблицы как type(df.index), после чего вы измените тип индекса на df.index.astype(str)
3. Спасибо. Да. это хорошее решение. Тем не менее, есть много преимуществ сохранения индекса datetime, если вы работаете с анализом временных рядов. Например, вы можете агрегировать результаты и отображать их ежемесячно, ежеквартально, ежегодно. Фильтруйте фрейм данных по времени. Итак, вы можете рассмотреть возможность сохранения его в формате datetime, если вы собираетесь провести дополнительный анализ.