特定の列を除いて DataFrame 内のすべての列を削除するにはどうすればよいでしょうか? 質問する

特定の列を除いて DataFrame 内のすべての列を削除するにはどうすればよいでしょうか? 質問する

次のような DataFrame があるとします。

a  b  c  d  e  f  g  
1  2  3  4  5  6  7
4  3  7  1  6  9  4
8  9  0  2  4  2  1

aと以外のすべての列を削除するにはどうすればよいですかb?

結果は次のようになります:

a  b
1  2
4  3
8  9

仮に 1000 列のデータがあるとすると、aと以外のすべての列を削除するという簡単なコード行を使用してこれらを削除する方法が必要です。b

ありがとう。

ベストアンサー1

In [48]: df.drop(df.columns.difference(['a','b']), 1, inplace=True)
Out[48]:
   a  b
0  1  2
1  4  3
2  8  9

または:

In [55]: df = df.loc[:, df.columns.intersection(['a','b'])]

In [56]: df
Out[56]:
   a  b
0  1  2
1  4  3
2  8  9

追伸:ご注意ください最も慣用的なパンダのやり方それを実行することはすでに@Wenによって提案されている:

df = df[['a','b']]

または

df = df.loc[:, ['a','b']]

おすすめ記事