Pandas 如何选择数据帧中有两个以上条目的索引?
我有一个多级索引帧。看起来像Pandas 如何选择数据帧中有两个以上条目的索引?,pandas,Pandas,我有一个多级索引帧。看起来像 actor title_year sum count 50 Cent 2005.0 30981850.0 1 A.J. Buckley 2015.0 123070338.0 1 Aaliyah 2002.0 30307804.0 1 Aasif Mandvi 2008.0 13214030.0 1 Abbie Cor
actor title_year sum count
50 Cent 2005.0 30981850.0 1
A.J. Buckley 2015.0 123070338.0 1
Aaliyah 2002.0 30307804.0 1
Aasif Mandvi 2008.0 13214030.0 1
Abbie Cornish 2009.0 4440055.0 1
在这里,actor
和title\u year
构成一个多索引。如果actor
跨度超过n
年,我如何将具有多重索引的条目切掉?我认为您需要:
如果需要删除所有长度为2
的actor
s:
df1 = df.groupby(level='actor').filter(lambda x: len(x) < 3)
print (df1)
sum count
actor title_year
A.J. Buckley 2015.0 123070338.0 1
Aasif Mandvi 2008.0 13214030.0 1
Abbie Cornish 2009.0 4440055.0 1
df2 = df.groupby(level='actor')
.filter(lambda x: x.index.get_level_values('title_year').nunique() < 3)
print (df2)
sum count
actor title_year
A.J. Buckley 2015.0 123070338.0 1
Aaliyah 2002.0 30307804.0 1
2002.0 30307804.0 1
2004.0 30307804.0 1
Aasif Mandvi 2008.0 13214030.0 1
Abbie Cornish 2009.0 4440055.0 1
我认为你需要:
如果需要删除所有长度为2
的actor
s:
df1 = df.groupby(level='actor').filter(lambda x: len(x) < 3)
print (df1)
sum count
actor title_year
A.J. Buckley 2015.0 123070338.0 1
Aasif Mandvi 2008.0 13214030.0 1
Abbie Cornish 2009.0 4440055.0 1
df2 = df.groupby(level='actor')
.filter(lambda x: x.index.get_level_values('title_year').nunique() < 3)
print (df2)
sum count
actor title_year
A.J. Buckley 2015.0 123070338.0 1
Aaliyah 2002.0 30307804.0 1
2002.0 30307804.0 1
2004.0 30307804.0 1
Aasif Mandvi 2008.0 13214030.0 1
Abbie Cornish 2009.0 4440055.0 1