2024-04-26 00:35:46 发布
网友
我有一个用Python pandas导入的文档。列中有时间值,我想知道从8-10小时到10-12小时有多少个值。我不知道从哪里开始。我尝试了(data.loc[(data['Time'] >= 8 & (data['Time'] < 10)] ,但语法无效。我该怎么做
pandas
(data.loc[(data['Time'] >= 8 & (data['Time'] < 10)]
TIME 08:04:16 08:04:53 ... 10:04:05 ... 08:59:21 ... 15:56:10
完整数据如下所示:https://i.stack.imgur.com/avqWi.png
我假设您的列是对象类型(实际上它包含字符串s)
因此,第一步是将其转换为日期时间类型(日期部分) 是从当天开始的,但这无关紧要)
然后您应该从中读取小时(dt.hour),并检查 它在所需范围内,例如,在之间使用(结果暂时为 abool系列)
剩下的唯一一步就是计算和它(计算真值)
因此,检查8和10之间的小时数的代码可以是:
pd.to_datetime(df.Time).dt.hour.between(8,10).sum()
转换为时间增量
df.Time = pd.to_timedelta(df.Time) m = (df.Time>='08:00:00') & (df.Time<'10:00:00') df1 = df[m].copy()
我假设您的列是对象类型(实际上它包含字符串s)
因此,第一步是将其转换为日期时间类型(日期部分) 是从当天开始的,但这无关紧要)
然后您应该从中读取小时(dt.hour),并检查 它在所需范围内,例如,在之间使用(结果暂时为 abool系列)
剩下的唯一一步就是计算和它(计算真值)
因此,检查8和10之间的小时数的代码可以是:
转换为时间增量
相关问题 更多 >
编程相关推荐