如何遍历Pandas DataFrame中含“string”字样的列而无需单独列明列名
实现方案
你可以通过Pandas内置的列名字符串匹配方法,无需手动罗列所有列名完成筛选,以下是几种常用实现方式:
方式1:使用str.contains模糊匹配
匹配所有列名中包含string的列,适用范围最广:
for column in df.columns[df.columns.str.contains('string')]: # 此处写你原有对列的处理逻辑 pass
如果你的需求是仅匹配以string_开头的列,避免其他列名中间带string被误选,可以用更精准的str.startswith:
for column in df.columns[df.columns.str.startswith('string_')]: # 处理逻辑 pass
方式2:使用filter方法更简洁
Pandas的filter方法内置了按列名字符串筛选的功能,代码更短:
# like参数表示匹配包含指定字符串的列 for column in df.filter(like='string').columns: # 处理逻辑 pass
以上几种方式都会自动适配所有符合命名规则的列,后续如果新增string_7、string_8这类列,不需要修改循环代码就能自动遍历。
内容的提问来源于stack exchange,提问作者Ayush Sinha
相关产品推荐
相关产品推荐

