dataframe判断一列时间是否在另外两列时间区间内
时间: 2024-11-03 20:20:11 浏览: 30
使用Python的Dataframe取两列时间值相差一年的所有行方法
在Pandas DataFrame中,如果你想要判断某列时间数据是否在其他两列指定的时间区间内,可以使用`between_time()`函数。首先,你需要确保时间列的数据类型是支持日期范围操作的,例如`pandas.DatetimeIndex`。
假设你有一个DataFrame `df`,有三列:`start_time`, `end_time`, 和 `target_time`,你想检查`target_time`是否在这两个时间段之间,你可以这样操作:
```python
df['is_within_interval'] = df.apply(
lambda row: row['target_time'].time() >= row['start_time'].time() and row['target_time'].time() <= row['end_time'].time(),
axis=1
)
# 或者使用布尔索引来创建新的列
df['is_within_interval'] = (df['target_time'] > df['start_time']) & (df['target_time'] <= df['end_time'])
```
这会创建一个新的列`is_within_interval`,其中`True`表示`target_time`在这个时间段内,`False`表示不在。
阅读全文