Pandas でインデックスによって行を削除する方法 (例あり)


次の構文を使用して、インデックス番号によって pandas DataFrame から行を削除できます。

 #drop first row from DataFrame
df = df. drop (index= 0 )

また、次の構文を使用して、インデックス番号によって pandas DataFrame から複数の行を削除できます。

 #drop first, second, and fourth row from DataFrame
df = df. drop ( index=[0,1,3 ] )

DataFrame にインデックス値として文字列がある場合は、単に名前を文字列として渡して削除できます。

 df = df. drop (index=[' first ', ' second ', ' third '])

次の例は、実際にインデックスによって行を削除する方法を示しています。

例 1: インデックスによる行の削除

次のコードは、pandas DataFrame の 2 行目を削除する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' first ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   ' last ': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   ' points ': [26, 31, 22, 29]})

#view DataFrame
df

team first last points
0 Mavs Dirk Nowitzki 26
1 Lakers Kobe Bryant 31
2 Spurs Tim Duncan 22
3 Cavs LeBron James 29

#drop second row from DataFrame
df = df. drop (index= 1 ) 

#view resulting dataFrame
df

        team first last points
0 Mavs Dirk Nowitzki 26
2 Spurs Tim Duncan 22
3 Cavs LeBron James 29

例 2: インデックスによる複数の行の削除

次のコードは、pandas DataFrame 内の複数の行をインデックスによって削除する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' first ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   ' last ': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   ' points ': [26, 31, 22, 29]})

#view DataFrame
df

team first last points
0 Mavs Dirk Nowitzki 26
1 Lakers Kobe Bryant 31
2 Spurs Tim Duncan 22
3 Cavs LeBron James 29

#drop first, second, and fourth row from DataFrame
df = df. drop ( index=[0,1,3 ] ) 

#view resulting dataFrame
df

	team first last points
2 Spurs Tim Duncan 22

例 3: インデックスが文字列の場合に行を削除する

次のコードは、インデックスが数値ではなく文字列である場合に、インデックスによって pandas DataFrame から行を削除する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' last ': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   ' last ': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   ' points ': [26, 31, 22, 29]},
                   index=['A', 'B', 'C', 'D'])

#view DataFrame
df
team first last points
A Mavs Dirk Nowitzki 26
B Lakers Kobe Bryant 31
C Spurs Tim Duncan 22
D Cavs Lebron James 29

#remove rows with index values 'A' and 'C'
df = df. drop (index=[' A ',' C '])

#view resulting DataFrame
df

team first last points
B Lakers Kobe Bryant 31
D Cavs Lebron James 29

追加リソース

Pandasでインデックスによって列を削除する方法
Pandas: 特定の文字列を含む行を削除する方法
パンダ: 重複した行を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です