dataframe 计算两列天数差
时间: 2023-06-04 08:07:50 浏览: 73
可以使用 pandas 库中的 datetime 和 timedelta,例如:
```
import pandas as pd
df = pd.DataFrame({
'start_date': ['2022-01-01', '2022-01-02'],
'end_date': ['2022-01-03', '2022-01-04']
})
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
0 2022-01-01 2022-01-03 2
1 2022-01-02 2022-01-04 2
```
相关问题
dataframe中两列日期相减怎么实现
在Pandas DataFrame中,如果你想计算两列日期之间的差值,你可以使用`sub`函数或者简单的减法操作。假设你有两个列`date_column1`和`date_column2`,它们都是包含日期时间类型的列(如`datetime64`或`Timestamp`)。以下是两种常见方法:
1. 使用`sub`函数:
```python
df['date_diff'] = df['date_column1'].sub(df['date_column2'], axis=0)
```
这会创建一个新的列`date_diff`,其中存储的是每个元素在`date_column1`中的日期与`date_column2`中的日期之差。
2. 直接减法(如果列的顺序是你想要减去较小的日期):
```python
df['date_diff'] = df['date_column1'] - df['date_column2']
```
这里假设`date_column1`的值大于或等于`date_column2`。
注意:结果通常是Timedelta类型,显示的是两个日期之间的时间差(例如天数、小时、分钟等)。如果你需要获取具体的差距(如年份、月份数),可以进一步使用`days`属性或其他Pandas提供的功能。
pandas 里面两列时间数据,计算天数差
在 Pandas 中,如果两列数据都是日期类型,可以使用 `dt.days` 属性计算两列日期之间的天数差。
例如,假设有一个 DataFrame,其中包含两列日期数据 `start_date` 和 `end_date`,你可以按照以下方式计算它们之间的天数差:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({
'start_date': ['2021-01-01', '2021-01-10', '2021-02-01'],
'end_date': ['2021-01-05', '2021-01-15', '2021-02-10']
})
# 将日期列转换为日期类型
df['start_date'] = pd.to_datetime(df['start_date'])
df['end_date'] = pd.to_datetime(df['end_date'])
# 计算天数差
df['days_diff'] = (df['end_date'] - df['start_date']).dt.days
# 显示结果
print(df)
```
输出结果:
```
start_date end_date days_diff
0 2021-01-01 2021-01-05 4
1 2021-01-10 2021-01-15 5
2 2021-02-01 2021-02-10 9
```
在上面的代码中,首先使用 `pd.to_datetime()` 函数将日期列转换为日期类型,然后使用 `(df['end_date'] - df['start_date']).dt.days` 计算天数差,最后将天数差保存在新列 `days_diff` 中。
阅读全文