gpt4 book ai didi

pandas - 在 bool 选择中使用 MultiIndex 值(设置时)

转载 作者:行者123 更新时间:2023-12-01 02:15:27 24 4
gpt4 key购买 nike

这里有一个类似的问题:Pandas using row labels in boolean indexing

但是那个使用了一个简单的索引,我不知道如何将它推广到 MultiIndex:

df = DataFrame( { 'ssn' : [  489,  489,  220,  220 ],
'year': [ 2009, 2010, 2009, 2010 ],
'tax' : [ 300, 600, 800, 900 ],
'flag': [ 0, 0, 0, 0 ] } )

df.set_index( ['ssn','year'], inplace=True )

半解决方案:
df.flag[ (df.year ==2010) & (df.tax<700) ] = 9 (如果 set_index 中的 drop=False 有效)
df.flag[ (df.index==2010) & (df.tax<700) ] = 9 (适用于简单索引)

我已经尝试了几件事,但我无法弄清楚如何从简单索引概括为多索引。例如。 df.index.year=2010 和其他 20 个猜测...

最佳答案

您可以使用 index.get_level_values() ,例如

df.flag[(df.index.get_level_values('year') == 2010) & (df.tax < 700)] = 9

关于pandas - 在 bool 选择中使用 MultiIndex 值(设置时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com