如何检查是一定的时间维度百分比在datetime列在熊猫?



如何检查pandas中的DateTime列中是否存在特定的部分(例如:年或日)?这就像您想以小时为单位检查两行之间的时间间隔,但首先,您需要检查小时部分是否存在于DateTime中。

期望结果:

tbody> <<tr>
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

最新更新