列名に基づいて複数の列を削除する 質問する

列名に基づいて複数の列を削除する 質問する

いくつかのデータがあり、それをインポートすると、次の不要な列が表示されます。これらをすべて削除する簡単な方法を探しています。

'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27',
'Unnamed: 28', 'Unnamed: 29', 'Unnamed: 30', 'Unnamed: 31',
'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35',
'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39',
'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43',
'Unnamed: 44', 'Unnamed: 45', 'Unnamed: 46', 'Unnamed: 47',
'Unnamed: 48', 'Unnamed: 49', 'Unnamed: 50', 'Unnamed: 51',
'Unnamed: 52', 'Unnamed: 53', 'Unnamed: 54', 'Unnamed: 55',
'Unnamed: 56', 'Unnamed: 57', 'Unnamed: 58', 'Unnamed: 59',
'Unnamed: 60'

0から始まるインデックスなので、次のようなものを試しました

df.drop(df.columns[[22, 23, 24, 25, 
26, 27, 28, 29, 30, 31, 32 ,55]], axis=1, inplace=True)

しかし、これはあまり効率的ではありません。いくつかの for ループを書いてみましたが、これは Pandas の悪い動作のように思いました。そのため、ここで質問します。

似たような例をいくつか見たことがあります(パンダで複数の列を削除する) しかし、これは私の質問に対する答えにはなりません。

ベストアンサー1

これまでのところ、最も単純なアプローチは次のとおりです。

yourdf.drop(['columnheading1', 'columnheading2'], axis=1, inplace=True)

おすすめ記事