如何选取DataFrame中所有同名的attachment/comment列?
解决方法
要快速选取所有attachment或comment相关列,直接利用pandas的列名字符串匹配功能即可,一行代码就能实现:
选取所有attachment列
# 方法1:简单匹配以attachment开头的列 attachments_df = imported_df.loc[:, imported_df.columns.str.startswith('attachment')] # 方法2:正则精准匹配(避免误选类似"attachment_other"这类无关列) attachments_df = imported_df.loc[:, imported_df.columns.str.match(r'^attachment(\.\d+)?$')]
选取所有comment列
同理操作即可:
# 方法1:简单匹配 comments_df = imported_df.loc[:, imported_df.columns.str.startswith('comment')] # 方法2:精准正则匹配 comments_df = imported_df.loc[:, imported_df.columns.str.match(r'^comment(\.\d+)?$')]
说明
第三方导出的CSV重复列名会被pandas自动添加.1、.2这类后缀,用startswith能快速捕获所有同前缀的列;如果担心存在其他类似名称的干扰列,正则匹配可以确保只选中attachment或attachment.数字格式的列,逻辑更严谨。
内容的提问来源于stack exchange,提问作者Odyseus_v4
相关产品推荐
相关产品推荐

