根据索引pivottable中的值选择数据

时间:2016-11-22 13:58:03

标签: pandas pivot-table

我确实有一个数据透视表,并希望按索引中包含的值过滤索引。 我知道如何在列#34;值"

中为值110更高这样做
git log --author="<$(git config user.email)>"

您如何根据索引中的名称选择数据(仅限债券)?

pd_pvt = pivot_table[(pivot_table['Value'] > 110)]

上面的代码无法正常工作,因为索引不能被视为列

1 个答案:

答案 0 :(得分:1)

如果索引名称为Value,您可以尝试Index.get_level_values

pd_pvt = pivot_table[(pivot_table.index.get_level_values('Value') == "Bonds")]

样品:

pivot_table = pd.DataFrame({'Value':[200,20,34]}, index=['James','Bonds','Aa'])
pivot_table.index.name = 'Value'
print (pivot_table)
       Value
Value       
James    200
Bonds     20
Aa        34

pd_pvt = pivot_table[(pivot_table.index.get_level_values('Value') == "Bonds")]
print (pd_pvt)
       Value
Value       
Bonds     20

你也可以使用等级的位置:

pd_pvt = pivot_table[(pivot_table.index.get_level_values(0) == "Bonds")]
print (pd_pvt)
       Value
Value       
Bonds     20

或简单index

pd_pvt = pivot_table[(pivot_table.index == "Bonds")]
print (pd_pvt)
       Value
Value       
Bonds     20