python - 为最大日期和符号过滤熊猫数据框
问题描述
我在这里问了一个问题,我没有收到错误,而是一个带有列的空数据框。我究竟做错了什么 ?
我的原始数据框如下
Date Symbol
49 2018-11-27 0
50 2018-12-10 0
51 2018-12-17 0
52 2018-12-27 XLK
53 2018-12-27 XLV
54 2018-12-28 VTV
55 2019-01-09 0
56 2019-01-09 0
57 2019-01-16 0
58 2019-02-04 0
59 2019-02-04 0
61 2019-02-05 SPY
62 2019-02-05 0
60 2019-02-05 TLT
63 2019-02-07 TLT
64 2019-02-09 0
以下语句有效,但给了我一个空的数据框:
df.loc[(df['Symbol'] == "TLT") & (df['Date'] == df['Date'].max())]
为 &链接 不受支持的操作数类型:“str”和“时间戳”
解决方案
通过 将列转换为日期时间to_datetime
,也不loc
是必需的,因此应删除:
df['Date'] = pd.to_datetime(df['Date'])
df[(df['Symbol'] == "TLT") & (df['Date'] == df['Date'].max())]
推荐阅读
- c++ - 错误:C++ 中“]”标记之前的预期主表达式
- eiffel - 如何在 Eiffel 中测试正式泛型类型的对象是否相等?
- html - 如何从我的网站中删除多余的宽度?
- c# - VSTO 项目上的 XSLT 处理问题。它在 WPF 项目上运行良好
- python - 按另一个数组的列对一个数组进行排序 - Python
- javascript - 专注于 jquery 数据表的行并在重点行上按 enter 键应该将行传递到另一个数据表
- python - 为什么只打印第一项
- c++ - 优先队列未正确排序
- javascript - 为什么 svg 加载仅在 Google Chrome 中延迟
- c# - 如何从现有列表中获取与关键字匹配并忽略大小写的项目列表(不区分大小写)?