Python 返回与.resample()关联的属性

Python 返回与.resample()关联的属性,python,pandas,dataframe,Python,Pandas,Dataframe,我使用pandas和.resample('M')方法将1分钟的数据重新采样到每月一次。我正在寻找用返回的摘要生成关联属性“symbol”的方法 前 返回 date open 2017-06-30 124.989 如何将关联属性“symbol”包含在相应的.first()记录中 我在找像 #1 MO month_summary = pd.DataFrame() month_summary['symbol'] = df.symbol month_summary['open']

我使用pandas和.resample('M')方法将1分钟的数据重新采样到每月一次。我正在寻找用返回的摘要生成关联属性“symbol”的方法

返回

date        open
2017-06-30  124.989
如何将关联属性“symbol”包含在相应的.first()记录中

我在找像

#1 MO
month_summary = pd.DataFrame()
month_summary['symbol'] = df.symbol   
month_summary['open'] = df.open.resample('M').first().ffill()
month_summary['closed'] = df.closed.resample('M').last().ffill()    

month_summary.head()
归还这个

date        symbol    open     close
2017-06-30  EURJPY    124.989  124.282

我遗漏了什么?

您可以获得每个符号和月份的第一条记录:

df.groupby([pd.Grouper(freq="M"), "symbol"]).agg({"open": "first", "close": "last"})
注意:只有在您也按符号分组的情况下,ffill才有意义,否则您可能会用上一个符号(不同的符号)填充一个符号打开值


注意:您可以使用DataFrame groupby上的.first获取整个第一行:

df.resample('M').first()
(不提及该列),然后您可以在

df.resample('M').first()[["open", "symbol"]]

df.resample('M').last()[["closed", "symbol"]]

你能提供示例数据吗?在这里,ffill是错误的。每个符号都要第一个吗?@AndyHayden。不只是聚合mo的第一个打开值,而且还返回与返回的打开值相关联的符号。@Noahuntington但在这种情况下,ffill是无意义的?@AndyHayden我想知道这一点。所以,如果我删除了ffill(),我可以返回相应的符号吗?很清楚,我在寻找第一个打开的值,而不考虑符号。然后返回与.first()关联的符号。@noahuntington这是行下面答案的一部分我想我的答案是,这是荒谬的。我需要避免NaN值。我还返回“close”.last()值。我试着为这篇文章保持简单。现在我很清楚,为时间序列找到的打开值不一定与关闭值共享相同的符号。我更新了问题以反映这一点。@Noahuntington上一部作品也是一样的,只是对它们进行了分析(尽管我不清楚如果它们不同,应该使用什么符号)。
df.resample('M').first()[["open", "symbol"]]

df.resample('M').last()[["closed", "symbol"]]