Python Pandas使用正则过滤dataframe里的列

时间:2022-06-01 20:10:31

Python Pandas可以在DataFrame.filter方法里使用正则来过滤列:

创建DataFrame

import pandas as pd

df = pd.DataFrame(np.array([[1,2,3],[2,3,4],[3,4,5]]),columns=['a','d1','d2'])
>>
   a  d1  d2
0  1  2   3
1  2  3   4
2  3  4   5

filter

filter使用正则过滤以“d”开头的列

df.filter(regex=("d.*"))
>>
   d1  d2
0  2   3
1  3   4
2  4   5

select

除了使用filter的正则外,也可以使用select来选择以“d”开头的列:

df.select(lambda col: col.startswith('d'), axis=1)
>>
   d1  d2
0  2   3
1  3   4
2  4   5