Select pandas 中的列名称基于多个前缀
Select column names in pandas based on multiple prefixes
我有一个大型数据框,我想从中 select 具有多个不同前缀的统计信息的特定列。我目前的解决方案如下所示:
df = pd.DataFrame(columns=['flg_1', 'flg_2', 'ab_1', 'ab_2', 'aaa', 'bbb'], data=np.array([1,2,3,4,5,6]).reshape(1,-1))
flg_vars = df.filter(regex='^flg_')
ab_vars = df.filter(regex='^ab_')
result = pd.concat([flg_vars, ab_vars], axis=1)
有没有更有效的方法?我需要根据8个前缀过滤我的原始数据,这导致代码行数过多。
对正则表达式使用 |
OR
:
result = df.filter(regex='^flg_|^ab_')
print (result)
flg_1 flg_2 ab_1 ab_2
0 1 2 3 4
我有一个大型数据框,我想从中 select 具有多个不同前缀的统计信息的特定列。我目前的解决方案如下所示:
df = pd.DataFrame(columns=['flg_1', 'flg_2', 'ab_1', 'ab_2', 'aaa', 'bbb'], data=np.array([1,2,3,4,5,6]).reshape(1,-1))
flg_vars = df.filter(regex='^flg_')
ab_vars = df.filter(regex='^ab_')
result = pd.concat([flg_vars, ab_vars], axis=1)
有没有更有效的方法?我需要根据8个前缀过滤我的原始数据,这导致代码行数过多。
对正则表达式使用 |
OR
:
result = df.filter(regex='^flg_|^ab_')
print (result)
flg_1 flg_2 ab_1 ab_2
0 1 2 3 4