【发布时间】:2019-03-11 13:32:15
【问题描述】:
我在使用 pandas 的重构数据时遇到了问题。想象一下,我有一个长格式的数据框,例如:
town year type var1 var2
a 2010 a 100 200
b 2010 a 100 200
c 2010 a 100 200
a 2011 a 100 200
b 2011 a 100 200
c 2011 a 100 200
a 2010 b 100 200
b 2010 b 100 200
c 2010 b 100 200
a 2011 b 100 200
b 2011 b 100 200
c 2011 b 100 200
然后我将它改造成宽格式,如下所示:
df = pd.pivot_table(df, index="town", columns=["year", "type"], values=["var1", "var2"]
var1 var2
year 2010 2011 2010 2011
type a b a b a b a b
town
a 100 200 100 200 100 200 100 200
b 100 200 100 200 100 200 100 200
c 100 200 100 200 100 200 100 200
然后如何访问生成的数据框?例如,如果我想获取所有城镇的数据,但只针对 2010 年和类型 b?我曾尝试使用df.query,但这会导致缓冲区类型不匹配。我试过使用:
df[df["year"] == 2010]
但这会导致关键错误。任何帮助将不胜感激。谢谢
【问题讨论】:
标签: python-3.x pandas pivot-table