Pandas中isin函數 Dataframe提取(刪除)指定行列

本文介紹主要結介紹用isin函數提取和刪除Dataframe指定行列:

isin函數(條件前加~表示isin函數的逆函數)

1. 返回含有具體條件的dataframe, 如返回 'A'列中含有 [4,8] 的dataframe( 用逆函數對篩選後的結果取餘,起刪除指定行作用 )

IN [1]: data
Out[1]: 
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

In [2]: data[data['A'].isin([4,8])] #返回值滿足,{A列含有數值[4,8]}
Out[2]: 
   A  B   C   D
1  4  5   6   7
2  8  9  10  11

In [3]: data[~data['A'].isin([4,8])] #逆函數 剔除{A列含有數值[4,8]}的dataframe
Out[3]: 
   A  B  C  D
0  0  1  2  3

2. 返回含有多個條件的dataframe, 如返回 'A'列中含有 4,  'A'列中含有 5 的dataframe( 用逆函數對篩選後的結果取餘,起刪除指定行作用 )

In [4]: data[data['A'].isin([4]) & data['B'].isin([5])] #返回值滿足,{A列含有4, B列含有5}
Out[4]: 
   A  B  C  D
1  4  5  6  7

#逆函數 剔除{A列含有4, B列含有5}的dataframe, 多個條件的逆函數,一定要記得用()將條件包含起來
In [5]: data[~(data['A'].isin([4]) & data['B'].isin([5]))] 
Out[5]: 
   A  B   C   D
0  0  1   2   3
2  8  9  10  11

3. 返回含有條件所在行的行號(Index)

In [6]: list(data[data['A'].isin([4,8])].index)
Out[6]: [1, 2]

loc和iloc函數提取指定行列,請閱讀下面博文:
超鏈接:Pandas中loc和iloc函數用法詳解(源碼+實例)

Drop函數刪除指定行列,請閱讀下列博文:

超鏈接:Drop函數與isin函數(DataFrame刪除指定行列)

更多原創PYTHON數據分析博文,請關注博文專欄超鏈接:PYTHON數據分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章