如何用类似Shell通配符的方式打印DataFrame中以_avg结尾的列?
实现方法
Pandas本身不支持直接用Shell式的*通配符来索引列,但有两个简单的替代方案可以快速筛选出以_avg结尾的列:
用
filter()方法(最接近你想要的通配符写法):print(df.filter(like='_avg'))这个方法的
like参数会匹配所有包含_avg的列名,刚好满足需求。如果要更精确匹配结尾,可以用regex参数:print(df.filter(regex='_avg$'))这里
$是正则表达式的结尾锚点,确保只匹配以_avg结尾的列。用列表推导式手动筛选列名:
avg_cols = [col for col in df.columns if col.endswith('_avg')] print(df[avg_cols])这种方式更灵活,你可以根据需要修改筛选条件(比如开头包含某个字符串、包含特定字符等)。
注意:直接写df["*_avg"]会报错,因为Pandas会把*_avg当作一个具体的列名去查找,而非通配符。
内容的提问来源于stack exchange,提问作者24n8
相关产品推荐
相关产品推荐

