パンダ:dropna() を使用した後にインデックスをリセットする方法
Dropna()関数を使用して欠損値のある行を削除した後、次の基本構文を使用して pandas DataFrame のインデックスをリセットできます。
df = df. dropna (). reset_index (drop= True )
次の例は、この構文を実際に使用する方法を示しています。
例: Dropna() を使用した後に Pandas でインデックスをリセットする
さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。
import pandas as pd import numpy as np #create dataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.nan, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, np.nan, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B NaN 7.0 8.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 5 F 11.0 NaN 5.0 6G 20.0 9.0 NaN 7 H 28.0 4.0 12.0
ここで、 dropna()関数を使用して、列に欠損値があるすべての行を DataFrame から削除するとします。
#drop rows with nan values in any column df = df. dropna () #view updated DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 7 H 28.0 4.0 12.0
インデックスには各行の元のインデックス値が含まれていることに注意してください。
Dropna()関数の使用後にインデックスをリセットするには、次の構文を使用できます。
#drop rows with nan values in any column df = df. dropna (). reset_index (drop= True ) #view updated DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 C 19.0 7.0 10.0 2 D 14.0 9.0 6.0 3 E 14.0 12.0 6.0 4 H 28.0 4.0 12.0
欠損値のある各行が削除され、インデックス値がリセットされていることに注意してください。
インデックス値の範囲は 0 ~ 4 になりました。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
インデックスなしで Pandas DataFrame を印刷する方法
Pandasでインデックス値でフィルタリングする方法
Pandasで最初の列をインデックスとして使用する方法