Python 返回与.resample()关联的属性
我使用pandas和.resample('M')方法将1分钟的数据重新采样到每月一次。我正在寻找用返回的摘要生成关联属性“symbol”的方法 前 返回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']
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"]]