为了账号安全,请及时绑定邮箱和手机立即绑定

过滤 Pandas 数据框以获得最大日期和符号

过滤 Pandas 数据框以获得最大日期和符号

POPMUISE 2021-11-16 14:50:28
我在这里问了一个问题,我没有收到错误,而是一个带有列的空数据框。我究竟做错了什么 ?我的原始数据框在下面               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' 和 'Timestamp'
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

将列转换为日期时间to_datetime,也不loc是必需的,因此应删除:

df['Date'] = pd.to_datetime(df['Date'])
df[(df['Symbol'] == "TLT") & (df['Date'] == df['Date'].max())]


查看完整回答
反对 回复 2021-11-16
?
绝地无双

TA贡献1946条经验 获得超4个赞

只是补充一些想法。您也可以使用idxmax()idxmin()

df.loc[df.groupby('Date')['Symbol'].idxmax()]

这将为您Date提供每个Symbol类别的所有最大值。


查看完整回答
反对 回复 2021-11-16
  • 2 回答
  • 0 关注
  • 289 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信