【发布时间】:2020-08-19 17:31:08
【问题描述】:
我陷入了一个绘图问题。在寻求帮助之前,我做了一些研究。
我有一个如下所示的数据框:
date text
2020-08-18 hey what's up?
2020-08-18 all good here
2020-08-17 happy Monday
2020-08-17 no news good news
2020-08-17 it's been a while
2020-08-16 see you tomorrow
长话短说,我正在尝试绘制一个垂直条形图或折线图,其中 ['date'] 作为我的 x,['text'] 的 COUNT 作为我的 y。 2020-08-18 有 2 个条目,2020-08-17 有 3 个条目,2020-08-16 有 1 个条目。
使用 SQL 我只需要执行以下操作:
SELECT date, COUNT(date) AS count_date FROM my_table GROUP BY date
使用 Python,我已经把事情复杂化了,这样做:
df['date_count'] = df.groupby(['date'])['date'].transform('size')
df_temporary = df.loc[ : , ['date', 'date_count'] ].drop_duplicates()
然后我可以绘制整个事情:
sns.plotline(data=df_temporary, x='date', y='date_count')
或其 Matplotlib 等效项:
plt.line(df_temporary.date, df_temporary.date_count)
它有效,但我的意思是,它不可能那么复杂,对吧?
什么是我没有看到的明显的东西?如何获取每个唯一日期的 COUNT?
【问题讨论】:
标签: python pandas matplotlib seaborn