pandas如何计算两个日期列天数之差
时间: 2024-02-13 12:33:12 浏览: 205
您好,关于您的问题,可以使用 pandas 的 datetime 模块来计算两个日期列天数之差。具体操作如下:
1. 将两个日期列转换成 datetime 类型:
```python
df['date1'] = pd.to_datetime(df['date1'])
df['date2'] = pd.to_datetime(df['date2'])
```
2. 计算天数之差:
```python
df['day_diff'] = (df['date1'] - df['date2']).dt.days
```
其中,`(df['date1'] - df['date2']).dt.days` 可以求出两个日期列的天数之差,其中 `dt.days` 可以将时间差 Timedelta 对象转化为整数天数。
希望能够帮到您!
相关问题
pandas中两个日期列相减求天数
可以使用 pandas 的 datetime 模块中的 date 方法将日期列转换为 datetime 类型,然后相减并取得天数,示例代码如下:
```
import pandas as pd
df = pd.DataFrame({'start_date': ['2022-01-01', '2022-01-02'], 'end_date': ['2022-01-05', '2022-01-07']})
df['start_date'] = pd.to_datetime(df['start_date'])
df['end_date'] = pd.to_datetime(df['end_date'])
df['days'] = (df['end_date'] - df['start_date']).dt.days
print(df)
```
输出结果为:
```
start_date end_date days
2022-01-01 2022-01-05 4
1 2022-01-02 2022-01-07 5
```
pandas中两个日期列相减求天数并写入到新列
可以使用pandas中的datetime库,将两个日期列转换为datetime格式,然后相减得到时间差,再将时间差转换为天数并写入新列。具体代码如下:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'start_date': ['2022-01-01', '2022-01-02', '2022-01-03'],
'end_date': ['2022-01-05', '2022-01-06', '2022-01-07']})
# 将日期列转换为datetime格式
df['start_date'] = pd.to_datetime(df['start_date'])
df['end_date'] = pd.to_datetime(df['end_date'])
# 计算时间差并转换为天数
df['days'] = (df['end_date'] - df['start_date']).dt.days
# 输出结果
print(df)
```
输出结果为:
```
start_date end_date days
2022-01-01 2022-01-05 4
1 2022-01-02 2022-01-06 4
2 2022-01-03 2022-01-07 4
```
阅读全文