Pandas: hapus kolom jika nama berisi string tertentu


Anda dapat menggunakan metode berikut untuk menghapus kolom dari pandas DataFrame yang namanya berisi string tertentu:

Metode 1: Hapus kolom jika nama berisi string tertentu

 df. drop (list(df. filter (regex=' this_string ')), axis= 1 , inplace= True )

Metode 2: Hapus kolom jika nama berisi salah satu dari beberapa string tertentu

 df. drop (list(df. filter (regex=' string1|string2|string3 ')), axis= 1 , inplace= True )

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' team_location ': ['AU', 'AU', 'EU', 'EU', 'AU', 'EU'],
                   ' player_name ': ['Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'],
                   ' points ': [22, 29, 35, 30, 18, 12]})

#view DataFrame
print (df)

  team_name team_location player_name points
0 A AU Andy 22
1 B AU Bob 29
2 C EU Chad 35
3 D EU Dan 30
4 E TO Ed 18
5 F EU Fran 12

Contoh 1: Hapus kolom jika nama berisi string tertentu

Kita dapat menggunakan sintaks berikut untuk menghapus kolom apa pun dari DataFrame yang berisi “tim” di mana pun dalam nama kolom:

 #drop columns whose name contains 'team'
df. drop (list(df. filter (regex=' team ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  player_name points
0 Andy 22
1 Bob 29
2 Chad 35
3 Dan 30
4 Ed 18
5 Fran 12

Perhatikan bahwa dua kolom yang berisi “tim” di namanya telah dihapus dari DataFrame.

Contoh 2: Hapus kolom jika nama berisi salah satu dari beberapa string tertentu

Kita bisa menggunakan sintaks berikut untuk menghapus kolom apa pun dari DataFrame yang berisi “pemain” atau “titik” di mana pun di nama kolom:

 #drop columns whose name contains 'player' or 'points'
df. drop (list(df. filter (regex=' player|points ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  team_name team_location
0 A AU
1 B AU
2 C EU
3D EU
4 E AU
5 F EU

Perhatikan bahwa dua kolom yang berisi “pemain” atau “poin” pada namanya telah dihapus dari DataFrame.

Catatan : | Simbol pada panda digunakan sebagai operator “ATAU”.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Cara menghapus kolom pertama di Pandas
Cara menghapus kolom duplikat di Pandas
Cara menghapus semua kolom kecuali beberapa di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *