python指定した列または複数の列の単一または複数の内容を削除


pythonでデータ処理を行うと、不要な要素があることがよくあります.削除または置換が必要です.本編では,各種データ型(series,dataframe)での削除方法について,ランダムにDataFrameデータを作成する方法について詳しく検討する.
import pandas as pd
import numpy as np
data=pd.DataFrame(np.random.randint(10,size=(5,3)),columns=['a','b','c'])
>>>
	a	b	c
0	3	8	2
1	9	9	5
2	4	5	1
3	2	7	5
4	1	2	8

Series: isin反関数不要な列部分要素を削除し、大量に適している:Sデータ型はisinを直接使用してその列に含まれる指定内容を選択し、私たちの需要は指定内容を削除するにはisinの反関数を使用する必要がある.しかしpythonは現在isnotinのような関数を持っていないので、-号を使用してisnotinを実現する方法!=の比較演算子方式を必要とし、a条件とb条件を同時に満たす場合に少量または使用するのに適している.
isin:Seriesのシーン
print(data['c'][data['c'].isin([1])])
>>>
2    1
Name: c, dtype: int64

print(data['c'][-data['c'].isin([1])])
>>>
0    2
1    5
3    5
4    8
Name: c, dtype: int64

print(data['c'][-data['c'].isin([1,2])])
>>>
1    5
3    5
4    8
Name: c, dtype: int64

DataFrameシーン:
print(data[-data.isin([1,2])])# Series    df     NAN      
>>>
	a	b	c
0	3.0	8.0	NaN
1	9.0	9.0	5.0
2	4.0	5.0	NaN
3	NaN	7.0	5.0
4	NaN	NaN	8.0
print(data[-data.isin([1,2])].dropna())#         dropna       
>>>
a	b	c
1	9.0	9.0	5.0

!=比較演算子:Seriesのシーン:
print(data['c'][data['c']!=1])
>>>
0    2
1    5
3    5
4    8
Name: c, dtype: int64

print(data['c'][(data['c']!=1)&((data['c']!=2))])
>>>
1    5
3    5
4    8
Name: c, dtype: int64

DataFrameシーン:aとbの異なる条件のデータをそれぞれ削除する
print(data[(data['a']!=1)&(data['c']!=2)]
>>>
	a	b	c
1	9	9	5
2	4	5	1
3	2	7	5

print(data[(data!=1)&(data!=2)].dropna()) # isin    
	a	b	c
1	9.0	9.0	5.0