python指定した列または複数の列の単一または複数の内容を削除
13139 ワード
pythonでデータ処理を行うと、不要な要素があることがよくあります.削除または置換が必要です.本編では,各種データ型(series,dataframe)での削除方法について,ランダムにDataFrameデータを作成する方法について詳しく検討する.
Series:
isin:Seriesのシーン
DataFrameシーン:
!=比較演算子:Seriesのシーン:
DataFrameシーン:aとbの異なる条件のデータをそれぞれ削除する
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