如何获取Pandas DataFrame中除前三列外的所有列名列表
解决方法
你原来的代码list(df[3:])之所以返回全部列名,是因为df[3:]是对行进行切片(取第3行及之后的所有行),完全没涉及列的筛选,所以转成列表后自然还是所有列名。
下面是几种正确的实现方式:
直接对列名索引切片(最简洁):
column_names = list(df.columns[3:])df.columns返回的是包含所有列名的Index对象,它支持和列表一样的切片操作,[3:]就会从第4个元素(索引从0开始)取到最后,正好得到['D','E','F','G']。通过筛选列后获取列名:
column_names = list(df.iloc[:, 3:].columns)iloc[:, 3:]表示取所有行(:)和从第3列开始的所有列,之后再提取这些列的列名转成列表。排除前三列后获取列名(稍繁琐但逻辑直观):
column_names = list(df.drop(df.columns[:3], axis=1).columns)先通过
drop方法移除前三列(df.columns[:3]对应A、B、C),再取剩余列的列名。
内容的提问来源于stack exchange,提问作者DeepLearner123
相关产品推荐
相关产品推荐

