【发布时间】:2020-01-13 16:34:36
【问题描述】:
我正在处理的数据框示例如下。
df_sub = pd.DataFrame([[2020-01-01, 2019-01-02, 2018-01-15, 2017-01-18], [2019, 2018, 2017, 2016], [15, 9, 39, 20]], columns=['GAME_DATE', 'SEASON', 'PTS')
- 每个赛季中的 GAME_DATE 和 POINTS 大约有 20-30 个数据点。这将根据从其他数据帧 DF 中选择的内容而有所不同
- GAME_DATE 是一个日期时间列
我想创建一个单独的情节,其中 x 轴为 game_date,y 轴为点,每个季节绘制一条线。
尝试了以下方法,但没有达到我想要的效果,因为它按顺序绘制了每个季节的数据,并在休息时有间隙。我希望每个季节都绘制在不同的线上,同时使用一年的一致 x 轴,而不是每年延伸。
ax = sns.lineplot(x = 'GAME_DATE', y = 'PTS', hue = 'SEASON', markers = True, dashes = False, data = df_sub)
认为我需要从 GAME_DATE 中提取 X-AXIS 的月份和日期,因为 SEASON 已经处理了年份/季节性组件
df_sub['SEASONAL'] = df_sub['GAME_DATE'].dt.strftime('%m-%d')
这在提取月份和日期方面起到了作用,但是当使用以下内容进行绘图时 - 创建的情节绝对是一团糟
ax = sns.lineplot(x = 'SEASONAL', y = 'PTS', hue = 'SEASON', markers = True, dashes = False, data = df_sub)
认为我需要将 df_sub['SEASONAL'] 从当前类型转换为日期时间列作为非空对象?但是,尝试以下方法会在季节性列的每个条目中插入一年(1900 年..uhhh)
df_sub['SEASONAL'] = pd.to_datetime(df_sub['SEASONAL'], format = "%m-%d")
感谢任何帮助
【问题讨论】: