python-3.x - 从特定日期开始的年度值

标签 python-3.x pandas datetime dataframe

我有一个带有日期列的数据框。持续时间为 365 天,从 02/11/2017 开始,到 01/11/2018 结束。

 Date
    02/11/2017
    03/11/2017
    05/11/2017
    .
    .
    01/11/2018

我想添加一个名为 Day_Of_Year 的相邻列,如下所示:

Date              Day_Of_Year
02/11/2017           1
03/11/2017           2
05/11/2017           4
.
.
01/11/2018          365

如果这是一个非常基本的问题,我深表歉意,但不幸的是我无法从这个开始。

我可以使用 datetime(),但它会返回诸如 1 表示 1 月 1 日、2 表示 1 月 2 日等的值……与年份无关。所以,这对我不起作用。

最佳答案

首先转换列 to_datetime然后减去datetime,转换为days并添加 1:

df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')
df['Day_Of_Year'] = df['Date'].sub(pd.Timestamp('2017-11-02')).dt.days + 1
print (df)
         Date  Day_Of_Year
0  02/11/2017            1
1  03/11/2017            2
2  05/11/2017            4
3  01/11/2018          365

或者减去列的第一个值:

df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')
df['Day_Of_Year'] = df['Date'].sub(df['Date'].iat[0]).dt.days + 1

print (df)
        Date  Day_Of_Year
0 2017-11-02            1
1 2017-11-03            2
2 2017-11-05            4
3 2018-11-01          365

关于python-3.x - 从特定日期开始的年度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595993/

相关文章:

python-3.x - Python 中的 LMAX 干扰器

python - 如何为 keras 中的 LSTM 回归准备输入数据?

python - 如何格式化 Python 线图 Bokeh/matplotlib 日期时间和图形问题的日期时间

java - 需要有关 Java 中的 SWT DateTime 的帮助

java - 使用python在java代码的方法 block 中添加一行

python - 守护线程在 Python 3.5.1 中有何用处?

python-3.x - 如何从 Youtube Data API v3 获取最大搜索结果?

python - 如何替换数据框中的索引

python - 如何为 Pandas DataFrame 制作堆积条形图?

php - 这是什么日期格式?