我有一个包含多个股票价格的数据框架。
我能够过滤数据帧,使其仅显示stock_name = "BHP",并且仅显示本月数据。
当我加载dataframe (df)时,它有很多列。但我只需要close列和索引来绘制图形。如何添加到此查询中,以便选择的内容为:
1)日期关闭BHP 2)日期=9月3)并且仅显示1]“stock_name”和2]索引(索引已经是日期时间索引)
这一行查询满足条件一和条件二:
bhp = df[(df["stock_name"]=="BHP")]["2015-09-01":"2015-09-25"]然而,当我尝试第三个,在末尾添加一个列的列表时,我得到了一个系列,而不是一个带有索引的数据帧,用于绘图:
bhp = df[(df["stock_name"]=="BHP")]["2015-09-01":"2015-09-25"]["close"]我有日期作为索引,如果有帮助的话,还有它自己的列。
发布于 2015-09-27 22:27:53
我在工作中经常这样做。在处理股票和时间维度时,我们通常使用DATExSTOCKxVALUE概念。其中列是股票,索引是日期,值是单个因子。关闭价格将只是一个时间序列与列是stock_names。
旋转此选项:
date stock close
2015-08-31 ibm 1.0
2015-08-31 aapl 1.0
2015-08-31 goog 1.0
2015-08-31 bhp 1.0
....(值只是“接近”的价格)
date aapl ibm goog bhp ...
2015-08-31 1.0 1.0 1.0 1.0 ...
2015-08-31 1.0 1.0 1.0 1.0 ...尝试以下类型的代码:
close_px = df.set_index(['date', 'stock_name'])['close'] # Multiindex Series
bhp = close_px.unstack(level='stock_name')['BHP'] # Stocks as columns, timeseries index, then subset to BHP
res = bhp.loc["2015-09-01", "2015-09-25"] # Access the rows like a standard timeseries如果你有多个股票,第二行给你一个收盘价时间序列,你可以很容易地访问股票名称。
https://stackoverflow.com/questions/32806015
复制相似问题