如何检查pandas中的DateTime列中是否存在特定的部分(例如:年或日)?这就像您想以小时为单位检查两行之间的时间间隔,但首先,您需要检查小时部分是否存在于DateTime中。
期望结果:
datetime | 是当前时数 | 2020-01-2117:24:00 | 真正 |
---|---|
2020-01-22 | 假 |
2020-01-2317:28:00 | 真正 |
2020-01-24 | 假 |
2020-01-24 | 假 |
我不知道你问的是什么,所以希望这个技巧能帮到你;
import pandas as pd
import numpy as np
import datetime
# create dummy dataframe with mock data
df = pd.DataFrame({'datetime': ['2021-01-01 00:00:00', '2021-01-02 00:00:00', '2021-01-03 00:00:00', '2021-01-04 00:00:00', '2021-01-05 00:00:00','2022-01-05 00:00:00']})
df['datetime'] = pd.to_datetime(df['datetime'])
df['day_of_week'] = df['datetime'].dt.day_name()
df['day_of_month'] = df['datetime'].dt.day
df['day_of_year'] = df['datetime'].dt.dayofyear
df['week_of_year'] = df['datetime'].dt.week
df['month_of_year'] = df['datetime'].dt.month
df['year'] = df['datetime'].dt.year
df['hour'] = df['datetime'].dt.hour
df['minute'] = df['datetime'].dt.minute
df['second'] = df['datetime'].dt.second
#check whether a particular section (ex: year or day) is present in the DateTime column in pandas
checkYear = df['datetime'].dt.year.isin([2021])
#show time gap between hours for each row and add new column to dataframe
df['time_gap'] = df['datetime'].diff().dt.total_seconds()
print(df)
print(checkYear)
输出:
datetime day_of_week day_of_month day_of_year week_of_year month_of_year year hour minute second time_gap
0 2021-01-01 Friday 1 1 53 1 2021 0 0 0 NaN
1 2021-01-02 Saturday 2 2 53 1 2021 0 0 0 86400.0
2 2021-01-03 Sunday 3 3 53 1 2021 0 0 0 86400.0
3 2021-01-04 Monday 4 4 1 1 2021 0 0 0 86400.0
4 2021-01-05 Tuesday 5 5 1 1 2021 0 0 0 86400.0
5 2022-01-05 Wednesday 5 5 1 1 2022 0 0 0 31536000.0
0 True
1 True
2 True
3 True
4 True
5 False