【发布时间】:2014-08-07 08:16:19
【问题描述】:
这里有一个类似的问题: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 种猜测...
【问题讨论】:
标签: pandas