我知道可以使用类似这样的索引列表从Pandas系列中选择项目:
yields = pd.Series([26.6,23.7,28.5,14.2,17.9,24.3,29.9,11.4,25.3,16.5,21.1])
print(yields.iloc[[1,3,5]])
我的问题是:如何选择不在索引列表中的项目?也就是说,如何使用3个索引的列表来选择系列中的其他8个项目?在其他情况下,我看到“掩蔽”一词用来描述我想做的事情。
答案 0 :(得分:2)
sets
difference
s.difference(t)
→s - t
print(yields.iloc[yields.index.difference([1,3,5])])
0 26.6
2 28.5
4 17.9
6 29.9
7 11.4
8 25.3
9 16.5
10 21.1
答案 1 :(得分:2)
您可以根据列表中没有索引来使用布尔索引:
yields[~yields.index.isin([1, 3, 5])]
顺便说一句,在您的原始情况下,yields[[1,3,5]]
和yields.iloc[[1,3,5]]
一样好。