访问熊猫数据透视表中元素的正确方法
Posted
技术标签:
【中文标题】访问熊猫数据透视表中元素的正确方法【英文标题】:the correct way to access elements in a pandas pivot table 【发布时间】:2016-05-19 12:50:57 【问题描述】:我一直在尝试使用 pandas 数据框切片 .IX 表示法从以下数据透视表中访问元素。但是我收到错误:
没有钥匙。
pivot = c.pivot("date","stock_name","close").resample("A",how="ohlc")
pt = pd.DataFrame(pivot,index=pivot.index.year)
pt
从 pandas 数据透视表中仅切出一行或多列的正确方法是什么?
例如,如果我只想要 2016
和 Billabong
的年度价格?
pivot["2016-12-31"]["BBG"]
【问题讨论】:
【参考方案1】:你可以使用loc
,docs:
print c
date stock_name close
0 2012-08-31 ibm 1
1 2013-08-31 aapl 1
2 2014-08-31 goog 1
3 2015-08-31 bhp 1
4 2016-08-31 bhp 1
pivot = c.pivot("date","stock_name","close").resample("A",how="ohlc")
print pivot
aapl bhp goog ibm \
open high low close open high low close open high low close open
date
2012-12-31 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1
2013-12-31 1 1 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-12-31 NaN NaN NaN NaN NaN NaN NaN NaN 1 1 1 1 NaN
2015-12-31 NaN NaN NaN NaN 1 1 1 1 NaN NaN NaN NaN NaN
2016-12-31 NaN NaN NaN NaN 1 1 1 1 NaN NaN NaN NaN NaN
high low close
date
2012-12-31 1 1 1
2013-12-31 NaN NaN NaN
2014-12-31 NaN NaN NaN
2015-12-31 NaN NaN NaN
2016-12-31 NaN NaN NaN
print pivot.loc["2014", ('goog', slice(None))]
goog
open high low close
date
2014-12-31 1 1 1 1
【讨论】:
@jezreal - 谢谢,但结果都是 N/A,这不是我所期望的。以上是关于访问熊猫数据透视表中元素的正确方法的主要内容,如果未能解决你的问题,请参考以下文章