簡體   English   中英

如何根據索引不在列表中選擇數據幀

[英]how to select data frame according to index NOT in a list

如果我在名為row的變量中有數字列表:

Int64Index([0, 7, 8, 9])

和數據幀df。 如果我想使用上面的數字選擇行號。 換句話說,我要選擇行0、7、8和9。我將執行以下操作:

df.iloc[row]

如果我要選擇不在變量中的那些怎么辦? 如果我有50行數據幀,並且我想跳過0、7、8和9,請問有沒有捷徑可做? 一世

只需使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM