python - 通过过滤时间戳列来制作数据帧的子集
问题描述
我有一个数据框,它有一个 datetime64[ns] 时间戳列,以及其他一些列。我正在尝试过滤数据框,以便我只使用其中所有时间的特定时间。(例如,我只从下面的 10:10 开始)我尝试查看 at_time 或 between_time 方法,但我猜它们只适用于特定的日期范围?还尝试了 df['timestamp'].dt.time == "10:10:00" ,但失败了
timestamp Col1 Col2 Col3
2021-01-01 10:00:00
2021-01-01 10:10:00
2021-01-01 10:20:00
你能建议吗
解决方案
尝试:
因为你的列'timestamp'是dtypedatetime
所以你必须提供datetime.time()
比较因为df['timestamp'].dt.time
给你时间是datetime.time
dtype
import datetime
m=df['timestamp'].dt.time == datetime.time(10,10)
#OR
m=df['timestamp'].dt.time == pd.Timestamp("10:10:00").time()
#OR
m=df['timestamp'].dt.time == pd.to_datetime("10:10:00").time()
最后:
result=df[m]
的输出m
:
0 False
1 True
2 False
Name: timestamp, dtype: bool
推荐阅读
- react-native - 关闭反应本机应用程序时运行清理
- r - R循环大数据
- python - 如何使用热键按字母顺序对树视图表中的数据进行重新排序
- python - 确定变量是python2.7中的str还是python3中的字节
- ios - Xcode 12.4 中未找到框架 FIRAnalyticsConnector
- javascript - 如何通过节点和javascript中的不和谐机器人代码将用户添加到私人频道?
- vb.net - 关闭和重新打开声明为公开的表单的正确方法是什么?
- angular - 错误:EACCES:权限被拒绝,取消链接“/Users/marina/Desktop/PO/angular-po/dist/angular-po/favicon.ico”
- python-3.x - 将存储桶从 S3 传输到 GCS 并在不先下载存储桶的情况下使用 python3 进行反向传输?
- react-native - 禁用 RNDebugger Network Inspect 时,授权标头无法正常工作