我使用pandas和.resample(' M')方法每月重新采样1分钟数据。我正在寻找生成相关属性'符号'的方法。返回的摘要摘要。
ex-
#1 MO
month_summary = pd.DataFrame()
month_summary['open'] = df.open.resample('M').first().ffill()
month_summary.head()
返回
date open
2017-06-30 124.989
我如何还包括附加属性'符号'使用相应的.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
我错过了什么?
答案 0 :(得分:1)
您可以获得每个符号和月份的第一条记录:
df.groupby([pd.Grouper(freq="M"), "symbol"]).agg({"open": "first", "close": "last"})
注意:如果您也按符号分组,则只有 才有意义,否则您可能会使用前一个(不同符号)填充一个符号开放值。
注意:您可以在DataFrame groupby上使用.first获取整个第一行:
df.resample('M').first()
(未提及该列),然后您可以在以下情况后过滤列
df.resample('M').first()[["open", "symbol"]]
df.resample('M').last()[["closed", "symbol"]]