Daha Ucuz, Daha Hızlı ve Deyimsel: str.contains
Pandaların son sürümlerinde, dizin ve sütunlarda dize yöntemlerini kullanabilirsiniz. Burada str.startswith
iyi bir uyum gibi görünüyor.
Belirli bir alt dizeyle başlayan tüm sütunları kaldırmak için:
df.columns.str.startswith('Test')
# array([ True, False, False, False])
df.loc[:,~df.columns.str.startswith('Test')]
toto test2 riri
0 x x x
1 x x x
Büyük / küçük harfe duyarsız eşleme için, str.contains
bir SOL bağlantısıyla regex tabanlı eşleştirmeyi kullanabilirsiniz :
df.columns.str.contains('^test', case=False)
# array([ True, False, True, False])
df.loc[:,~df.columns.str.contains('^test', case=False)]
toto riri
0 x x
1 x x
karışık türler bir olasılıksa, bunu da belirtin na=False
.