我确实有一个数据透视表,并希望按索引中包含的值过滤索引。 我知道如何在列#34;值"
中为值110更高这样做git log --author="<$(git config user.email)>"
您如何根据索引中的名称选择数据(仅限债券)?
pd_pvt = pivot_table[(pivot_table['Value'] > 110)]
上面的代码无法正常工作,因为索引不能被视为列
答案 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