我要删除索引大于13491的数据框行。
我尝试过
df.drop(df.index > [13491])
但收到错误
KeyError: 'labels [False False False ... True True True] not contained in axis'
这个很好用
df= df[df.index < 13492]
但是如何从数据框中删除过滤的行呢?
有人可以给我一些建议吗?谢谢你!
答案 0 :(得分:1)
df= df[df.index < 13492]
适用于这种情况
答案 1 :(得分:1)
如果您真的想使用放置,则可以借助numpy.where()
来识别行。import pandas as pd
import numpy as np
df = pd.DataFrame()
df["A"] = [1,2,3,4,5]
A
0 1
1 2
2 3
3 4
#Remove if index bigger thans 2
df.drop(df.index[np.where(df.index > 2)[0]])
A
0 1
1 2
2 3
但是您回馈df = df[df.index < some_value]
的方法也不错。请记住,drop将返回更改的对象,并且不会覆盖旧的对象。因此需要使用df = df.drop ...
来替换df。