我的数据帧df包含一组列,其中包括两个类似的列:
'age-15y','age-5y'
我想对数据帧应用一个过滤器,以便获得名称以每个字符串结尾的列,因此'5y' and '15y'
将是独立的。
如果我尝试
df.filter(regex='5y'+'$')
然后我也将获得以'15y‘结尾的列,这不是我想要的
有什么方法可以方便地完成我想要的东西吗?我希望有一种方法可以使用正则表达式并指定它应该应用于的字符数
发布于 2019-07-13 17:58:20
带有$
的.filter()
适用于我:
df = pd.DataFrame({'age-15y':np.random.choice(['A','B'], 500),
'age-5y':np.random.uniform(10,15,500),
'age-15y-abc':np.random.uniform(-32,105,500)})
print(df.filter(regex='5y').head(2))
print(df.filter(regex='5y$').head(2))
返回
# without '$'
age-15y age-5y age-15y-abc
0 B 14.044916 -4.875092
1 B 13.271348 28.054364
# with '$'
age-15y age-5y
0 B 14.044916
1 B 13.271348
https://stackoverflow.com/questions/57021519
复制相似问题