我有数据框熊猫;
Data
Id
ID_1 19
ID_2 33
ID_3 17
ID_4 52
ID_5 17
ID_6 41
Id是索引。如何按索引删除所有ID为偶数的行?
这是我的预期结果:
Data
Id
ID_1 19
ID_3 17
ID_5 17
答案 0 :(得分:7)
您可以通过DataFrame.iloc
选择每个偶数行:
df1 = df.iloc[::2]
或按numpy.arange
创建的模数为2的掩码进行过滤,并按0
比较:
df1 = df[np.arange(len(df)) % 2 == 0]
print (df1)
Data
Id
ID_1 19
ID_3 17
ID_5 17
答案 1 :(得分:1)
如果没有numpy
,则可以选择
df.loc[["ID_" + str(x) for x in range(len(df) + 1) if x % 2 != 0]]
或
df.filter(items=["ID_" + str(x) for x in range(len(df) + 1) if x % 2 != 0], axis=0)