如何在 pandas 中添加和减去日期中的天数


您可以使用以下方法在 pandas 中添加和减去日期中的天数:

方法一:向这一天添加天数

 df[' date_column '] + pd. Timedelta (days= 5 )

方法2:从日期中减去天数

 df[' date_column '] - pd. Timedelta (days= 5 )

以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['2022-10-01', '2022-10-23', '2022-10-30', '2022-11-05'],
                   ' sales ': [450, 567, 612, 701]})

#convert date column to datetime
df[' date '] = pd. to_datetime (df[' date '])

#view DataFrame
print (df)

        dirty dates
0 2022-10-01 450
1 2022-10-23 567
2 2022-10-30 612
3 2022-11-05 701

示例 1:在 Pandas 中添加天数到这一天

以下代码演示如何创建一个新列,将五天添加到日期列值:

 #create new column that adds 5 days to value in date column
df[' date_plus_five '] = df[' date '] + pd. Timedelta (days= 5 )

#view updated DataFrame
print (df)

        date sales date_plus_five
0 2022-10-01 450 2022-10-06
1 2022-10-23 567 2022-10-28
2 2022-10-30 612 2022-11-04
3 2022-11-05 701 2022-11-10

新的date_plus_ Five列表示日期列中的值,每个值添加了五天。

我们还可以使用dtypes函数来确认新列确实是日期时间列:

 #check data type of each column
df. dtypes

date datetime64[ns]
dirty int64
date_plus_five datetime64[ns]
dtype:object

datedate_plus_ Five列被识别为日期时间格式。

示例 2:从 Pandas 中的日期减去天数

以下代码演示如何创建一个从日期列值中减去五天的新列:

 #create new column that subtracts five days from date
df[' date_minus_five '] = df[' date '] - pd. Timedelta (days= 5 )

#view updated DataFrame
print (df)

        date sales date_minus_five
0 2022-10-01 450 2022-09-26
1 2022-10-23 567 2022-10-18
2 2022-10-30 612 2022-10-25
3 2022-11-05 701 2022-10-31

新的date_minus_ Five列表示日期列的值,每个值减去五天。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何将 Pandas 中的列转换为日期时间
如何将 DateTime 转换为 Pandas 中的日期
如何从 Pandas 中的日期中提取月份

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注