ページとして新規に立てるほど長くもない小ネタ集。
a,b,c,…,z の26列があるDataFrameで、c列だけ除いたカラムを指定したい場合。
単純に除いた列だけのDataFrameが欲しいなら df.drop()
を使えばいいけど、
特定列以外をint型にしたいとか、特定列だけ fillna()
などの処理方法が異なりそれ以外をまとめて処理したいとかで、drop() ではやりたいことができないことがある。
DataFrameやSeriesの行を値でフィルタリングするときと同じように、カラムに対してフィルタリングした配列を作ればよい。
target_cols = df.columns[df.columns != 'c'] df[target_cols] # 複数行を除く場合 target_cols = df.columns[~df.columns.isin(['c', 'd'])] df[target_cols]