Mar*_*oni 1 python matplotlib pandas seaborn
我有一个 DataFrame,其中每一行都是一个事件,它有一列datetime指定事件日期和时间的值。
我只想绘制每天的事件数量,并能够指定 x 轴的开始和结束日期。我怎样才能做到这一点?
考虑DF包含具有日期时间值的单个列,如下所示:
df = pd.DataFrame(pd.date_range('1/1/2016', periods=10, freq='D'), columns=['Date'])
Run Code Online (Sandbox Code Playgroud)
将原始样本DF与其自身连接起来以创建重复值(例如 5)
df_dups = pd.concat([df, df.sample(n=5, random_state=42)], ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
通过将其堆叠到系列对象中来计算其唯一计数。
plotting_df = df_dups.stack().value_counts().reset_index(name='counts')
Run Code Online (Sandbox Code Playgroud)
散点图:
由于 x 轴和 y 轴仅支持数值作为内置散点图方法的参数,因此我们必须调用plot_datematplotlib 轴对象的函数来保留日期原样。
fig, ax = plt.subplots()
ax.plot_date(plotting_df['index'], plotting_df['counts'], fmt='.', color='k')
ax.set_ylim(0, plotting_df['counts'].values.max()+1)
fig.autofmt_xdate()
plt.xlabel('Date')
plt.ylabel('Counts')
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8391 次 |
| 最近记录: |