我有一个包含100行的pandas数据框。看起来像这样
id_number Name Age Salary
00001 Alice 50 6.2234
00002 John 29 9.1
.
.
.
00098 Susan 36 11.58
00099 Remy 50 3.7
00100 Walter 50 5.52
我要从此数据框中提取与ID编号不位于11到20之间的个人相对应的行。我想要0到9、20到99行。
df.iloc
允许提取连续的行集,例如20到99,但不能一次提取0到9和20到99。
我也尝试过df[(df['id_number'] >= 20) & (df['id_number'] < 10)]
,但是返回了一个空的数据框。
是否有一种简单的方法来执行此操作,而无需执行两次单独的提取及其串联操作?
答案 0 :(得分:0)
您需要的是切片索引
在这种情况下,我们将11切片为20
数据
df=pd.Series(np.arange(1,101))
df
放下切片
df.drop(df.loc[11:20].index, inplace=True)
df
答案 1 :(得分:0)
这似乎可行(@FarhoodET建议):
df[(df['id_number'] => 20) | (df['id_number'] < 10)]