首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多指标-每个第一指数的第二个索引的最大值

多指标-每个第一指数的第二个索引的最大值
EN

Stack Overflow用户
提问于 2018-11-05 09:10:55
回答 1查看 481关注 0票数 1

我有一个多索引的dataframe,如下所示:

代码语言:javascript
运行
复制
ts                   ts2
2018-05-24 23:00:00  2018-05-24 00:00:00  5
                     2018-05-24 00:15:00  4 
                     2018-05-24 00:30:00  6 
                     2018-05-24 00:45:00  7

对于索引1中的每个日期时间,我希望得到索引2的最大值:

代码语言:javascript
运行
复制
2018-05-24 23:00:00  2018-05-24 00:45:00  7

这不是很难,但不知何故我应付不了。

我尝试了一个for循环切片

代码语言:javascript
运行
复制
for ts, new_df in df.groupby(level=0):
   print(new_df)

这导致了每吨新的数据.此外,我还可以获得new_df的最大索引

代码语言:javascript
运行
复制
new_df.index.max()

有了这些信息,我应该能够选择正确的值(索引对)并构建所需的数据格式。但是,我无法应付.

任何帮助都很感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-05 09:14:48

您可以将idxmaxreset_index结合使用,并通过iloc按职位进行选择。

代码语言:javascript
运行
复制
df = df.iloc[df.reset_index().groupby('ts')['ts2'].idxmax()]
print (df)
                                         val
ts                  ts2                     
2018-05-24 23:00:00 2018-05-24 00:45:00    7

或者将boolean indexingIndex.duplicated一起使用,但首先使用sort_index

代码语言:javascript
运行
复制
df = df.sort_index()
df = df[~df.index.get_level_values(0).duplicated(keep='last')]
print (df)
                                         val
ts                  ts2                     
2018-05-24 23:00:00 2018-05-24 00:45:00    7
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53151295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档