gpt4 book ai didi

python - 如何在 x 轴上绘制带有日期时间的线性回归

转载 作者:太空狗 更新时间:2023-10-29 21:39:37 30 4
gpt4 key购买 nike

我的 DataFrame 对象看起来像

            amount
date
2014-01-06 1
2014-01-07 1
2014-01-08 4
2014-01-09 1
2014-01-14 1

我想要一种散点图,x 轴为时间,y 轴为数量,数据中有一条线来引导观察者的视线。如果我使用 pandas plot df.plot(style="o") 它不太正确,因为那条线不在那里。我想要类似示例的东西 here .

最佳答案

注意:这与 Ian Thompson 的回答有很多共同之处,但方法不同,足以将其作为一个单独的答案。我使用问题中提供的 DataFrame 格式并避免更改索引。

Seaborn 和其他库无法像您希望的那样处理日期时间轴。以下是我的解决方法:

首先添加一列日期序数

Seaborn 会比处理日期更好地处理这些。这是用日期和不喜欢日期的库做各种数学运算的便捷技巧。

from datetime import date

df['date_ordinal'] = pd.to_datetime(df['date']).apply(lambda date: date.toordinal())

dataframe with ordinals

在日期轴上绘制序数图

ax = seaborn.regplot(
data=df,
x='date_ordinal',
y='amount',
)
# Tighten up the axes for prettiness
ax.set_xlim(df['date_ordinal'].min() - 1, df['date_ordinal'].max() + 1)
ax.set_ylim(0, df['amount'].max() + 1)

用漂亮、可读的日期替换有序的 X 轴标签

ax.set_xlabel('date')
new_labels = [date.fromordinal(int(item)) for item in ax.get_xticks()]
ax.set_xticklabels(new_labels)

plot with regression line

哒哒哒!

关于python - 如何在 x 轴上绘制带有日期时间的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308729/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com