Pandas使用.resample()返回关联的属性

时间:2017-11-03 20:56:04

标签: python pandas dataframe

我使用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

我错过了什么?

1 个答案:

答案 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"]]