cut columns:
df[df.columns[::2]]
To get every nth column
Example:
In [2]: cols = ['a1','b1','c1','a2','b2','c2','a3'] df = pd.DataFrame(columns=cols) df Out[2]: Empty DataFrame Columns: [a1, b1, c1, a2, b2, c2, a3] Index: [] In [3]: df[df.columns[::3]] Out[3]: Empty DataFrame Columns: [a1, a2, a3] Index: []
You can also filter using startswith
:
In [5]: a = df.columns[df.columns.str.startswith('a')] df[a] Out[5]: Empty DataFrame Columns: [a1, a2, a3] Index: []
and do the same for b cols and c cols etc.
You can get a set of all unique col prefixes using the following:
In [19]: df.columns.str.extract(r'([a-zA-Z])').unique() Out[19]: array(['a', 'b', 'c'], dtype=object)
You can then use these values ββto filter columns using startswith
source share