python-3.x - 如何按日期时间列中的单个日期对熊猫数据框列进行子集化?
问题描述
所以我认为这应该是一个更简单的任务,但我找不到它。我有一个熊猫数据框如下
Company Id DateTime col1 col2 col3 col4 col5 col6
0 25502921 2018-08-16 10:23:36 0 175.000 0.0 0.0 0.0 0
1 25502921 2018-08-16 10:33:55 0 155.557 0.0 0.0 0.0 0
2 25502921 2018-08-16 10:43:55 0 153.615 0.0 0.0 0.0 0
type(df['DateTime'][0])
输出pandas._libs.tslibs.timestamps.Timestamp
如何根据日期对数据框进行子集化?
df_tmp = df[df['DateTime'].dt.date=='16-08-2018']
似乎不起作用df_tmp = df[df['DateTime']=='16-08-2018']
我可以尝试哪些其他直观的方法?
解决方案
使用.dt.normalize()
它将时间转换为00:00:00
但返回一个日期时间对象。
df['DateTime'].dt.normalize().apply(type)
pandas._libs.tslibs.timestamps.Timestamp
print(df['DateTime'].dt.normalize())
0 2018-08-16
1 2018-08-16
2 2018-08-16
Name: DateTime, dtype: datetime64[ns]
df[df['DateTime'].dt.normalize() == '2018-08-16']
Company_Id DateTime col1 col2 col3 col4 col5 col6
0 25502921 2018-08-16 10:23:36 0 175.000 0.0 0.0 0.0 0
1 25502921 2018-08-16 10:33:55 0 155.557 0.0 0.0 0.0 0
2 25502921 2018-08-16 10:43:55 0 153.615 0.0 0.0 0.0 0
推荐阅读
- php - 如何在 Woocommerce 客户邮件中添加“相关产品”
- c# - Excel - 无效的日期转换(1900 年之前)
- php - 我正在使用它正在插入的准备好的语句插入数据但是当我插入以检查重复时它给了我错误如何解决
- laravel - 如何获取另一列等于的先前记录
- git - 整理本地 git 分支(最佳实践)
- javascript - 如何将日期从英文格式重新转换为法文格式
- katalon-studio - 在 Katalon 工作室中出现“无法找到对象”错误
- lua - 如何在wireshark lua脚本中从用户数据创建一个tvb范围对象
- post-build-event - 如何以管理员权限运行已部署的 .exe 文件?
- python - 这个“pyarrow.lib.ArrowIOError”的解释是什么?