pandas中两个日期列相减求天数
时间: 2023-03-25 18:02:43 浏览: 245
可以使用 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
```
pandas两个日期列相差的天数
要计算两个日期列之间的天数差异,您可以使用`pandas`库中的`datetime`模块。请先将两个日期列转换为`datetime`类型,然后计算它们之间的差异,最后提取天数部分。
下面是一个示例代码片段,展示了如何计算两个日期列之间的天数差异:
```
import pandas as pd
# 创建一个示例数据集
df = pd.DataFrame({
'start_date': ['2022-04-01', '2022-04-02', '2022-04-03'],
'end_date': ['2022-04-05', '2022-04-06', '2022-04-07']
})
# 将日期列转换为datetime类型
df['start_date'] = pd.to_datetime(df['start_date'])
df['end_date'] = pd.to_datetime(df['end_date'])
# 计算相差的天数
df['diff_days'] = (df['end_date'] - df['start_date']).dt.days
print(df)
```
在上述示例中,我们创建了一个包含两个日期列的示例数据集,并使用`pd.to_datetime()`将它们转换为`datetime`类型。然后,我们将两个日期列相减并提取天数部分,将其存储在新列`diff_days`中。最后,我们将整个数据集打印到控制台上。
注:这是一个计算两个日期列之间差异的示例, 可能会使用到时间库的 timedelta 等类,请根据实际情况选择使用。