从数据绘图,但仅当在 python (matplotlib) 中满足特定标准或值时

问题描述

所以我根本不知道如何做到这一点,我知道如何从数据框中绘制例如像下面这样的散点图,但是有没有一种方法可以绘制列的时间满足某个参数,例如仅在特定日期,或者我是否必须为我想要从那里绘制和绘制的每个数据选择创建新的数据框?

df_plot.plot(x = 'Date',y = 'Good (1) : Bad (0)',kind = 'scatter',title = ('Good Vs. Bad Data')).set_xlabel("{}{}{}{}".format(' Date ',df_plot['Date'][0],' untill ',df_plot['Date'][len(df_plot)-1]))
plt.xticks([])

TIA!

解决方法

是的,AFAIK 最简单的方法是传递 DataFrame.plot 数据帧的一个子集。如果您的数据框使用日期列作为索引并且它是日期时间列,您可以选择这样的子集:

start_date = '1980-12-30'
end_date = '2020-02-07'
df.loc[start_date:end_date]

或者如果它不是您的索引:

start_date = '1980-12-30'
end_date = '2020-02-07'
df['Date_column'][start_date:end_date]

如果您的列包含日期字符串,您可以像这样转换列:

df['Date_column'] = pd.to_datetime(df['Date_column'])