【发布时间】:2019-05-26 15:22:08
【问题描述】:
我有一个大的 DF,它的结构是这样的。它在 0 级有多个股票,日期为 1 级。每月数据从 2004 年 12 月 31 日开始,一直持续到 2017 年 12 月 31 日(未显示)。
Date DAILY_RETURN
A 12/31/2004 NaN
1/31/2005 -8.26
2/28/2005 8.55
3/31/2005 -7.5
4/29/2005 -6.53
5/31/2005 15.71
6/30/2005 -4.12
7/29/2005 13.99
8/31/2005 22.56
9/30/2005 1.83
10/31/2005 -2.26
11/30/2005 11.4
12/30/2005 -6.65
1/31/2006 1.86
2/28/2006 6.16
3/31/2006 4.31
我想做的是按月分组,然后按月计算daily_returns中的正回报数(即索引的日期部分中的01,然后是02、03等)。这段代码会给我计数,但只能按索引级别=0。df3.groupby(level=0)['DAILY_RETURN'].agg(['count'])
还有其他问题,这个是最接近的,但我无法让代码工作。有人可以帮忙吗。最终我想做的是按股票分组,然后按月过滤所有按月至少有 70% 正回报的股票。我似乎也不知道如何从数据框中获得正回报
How to group pandas DataFrame entries by date in a non-unique column
【问题讨论】:
-
请不要发布数据图片,直接复制粘贴问题中的数据并格式化为代码
-
我单击代码并获得“在此处输入代码”,但是当我尝试从 excel 中粘贴文本时,它总是给出一张图片。它只说保存或取消。有没有办法在代码图标中输入表格而不必全部输入
-
也许可以先粘贴到记事本,然后从记事本复制
标签: pandas dataframe pandas-groupby multi-index