本文介紹主要結介紹用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數據分析)