如果我在名为行的变量中有一个数字列表:
Int64Index([0, 7, 8, 9])
和数据帧df。如果我想使用上面的数字选择行号。换句话说,我想选择第0,7,8和9行。我会做以下事情:
df.iloc[row]
如果我想选择那些不在行变量中的内容怎么办?如果我有50行数据帧,并且我想跳过0,7,8和9,是否有任何快捷方式可以执行此操作?我
答案 0 :(得分:2)
只需使用isin
和~
否定运算符:
In [6]:
df = pd.DataFrame({'a':randn(10), 'b':randn(10)})
df
Out[6]:
a b
0 -0.498370 0.350204
1 -0.484727 -0.977876
2 -0.319675 -0.781217
3 0.618511 0.416958
4 -0.834304 1.606860
5 0.768302 -0.394504
6 -0.033161 -1.539782
7 -0.062261 1.411695
8 -0.227656 -0.527440
9 0.843263 0.927568
In [7]:
index = [0, 7, 8, 9]
df[~df.index.isin(index)]
Out[7]:
a b
1 -0.484727 -0.977876
2 -0.319675 -0.781217
3 0.618511 0.416958
4 -0.834304 1.606860
5 0.768302 -0.394504
6 -0.033161 -1.539782