【发布时间】:2019-07-22 17:38:28
【问题描述】:
我有一个大型数据框(数百万行),其中我的一列是格式为“hh:mm:ss”的时间戳(标记为“时间戳”),例如“07:00:04”。我想删除小时不在或等于 7 和 21 之间的行。
我已经尝试将时间戳转换为字符串并使用切片,但我无法让它工作,我相信应该有更有效的方法。
# Create list of opening hours (these should not be droped)
opening_hour = 7
closeing_hour = 21
trading_hours = []
for hour in range(closeing_hour - opening_hour + 1):
add_hour = opening_hour + hour
trading_hours.append(add_hour)
我的数据框看起来像这样:
Date Timestamp Close
0 20180102 07:05:00 12925.979
1 20180102 21:05:02 12925.479
2 20180102 22:05:04 12925.280
3 20180102 23:55:06 12925.479
4 20180102 06:05:07 12925.780
5 20180103 07:05:07 12925.780
[...]
我想删除索引为 2、3 和 4 的行(有几千行),所以结果应该是这样的:
Date Timestamp Close
0 20180102 07:05:00 12925.979
1 20180102 21:05:02 12925.479
2 20180103 07:05:07 12925.780
[...]
【问题讨论】:
标签: python pandas dataframe conditional-statements