从数据中绘制,但仅当 python 中满足特定条件或值时(matplotlib)

Plotting from data but only when specific critera or values are met in 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!

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

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'])