如何在 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
date和date_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 中的日期中提取月份