pandas计算两列时间差
时间: 2023-09-23 14:10:23 浏览: 121
您可以使用Pandas中的`timedelta`来计算两列时间之间的差异。以下是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'开始时间': ['2022-01-01 10:00:00', '2022-01-02 12:30:00', '2022-01-03 15:45:00'],
'结束时间': ['2022-01-01 12:30:00', '2022-01-02 14:00:00', '2022-01-03 17:15:00']}
df = pd.DataFrame(data)
# 将开始时间和结束时间转换为datetime类型
df['开始时间'] = pd.to_datetime(df['开始时间'])
df['结束时间'] = pd.to_datetime(df['结束时间'])
# 计算时间差并创建新列
df['时间差'] = df['结束时间'] - df['开始时间']
print(df)
```
这将输出包含时间差的数据框,单位为`timedelta`。
相关问题
计算pandas两列时间差
计算pandas两列时间差可以使用`pd.to_datetime`将两列转换为时间格式,然后使用减法操作符`-`计算时间差。以下是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'start_time': ['2021-01-01 10:00:00', '2021-01-02 12:00:00'],
'end_time': ['2021-01-01 11:30:00', '2021-01-02 14:30:00']}
df = pd.DataFrame(data)
# 将两列转换为时间格式
df['start_time'] = pd.to_datetime(df['start_time'])
df['end_time'] = pd.to_datetime(df['end_time'])
# 计算时间差
df['time_diff'] = df['end_time'] - df['start_time']
# 打印结果
print(df)
```
输出结果如下:
```
start_time end_time time_diff
0 2021-01-01 10:00:00 2021-01-01 11:30:00 0 days 01:30:00
1 2021-01-02 12:00:00 2021-01-02 14:30:00 0 days 02:30:00
```
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` 中。
阅读全文