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