试图引用列范围时Python中的语法错误
我试图从数据帧中删除最后几列。但是,执行此操作时会出现语法错误: db=db.dropdb.columns[[12:22]],轴=1 这是可行的,但看起来很笨拙 db=db.dropdb.columns[[12,13,14,15,16,17,18,19,20,21,22]],轴=1 如何引用一系列列?第一个示例使用[12:22]是一片空白。它不是一个有意义的语句,所以正如您所说,它给出了一个语法错误。似乎您想要的是一个包含数字12到22的列表。您需要像以前那样完整地写出它,或者使用一些生成器函数来创建它 最简单的是range,它是一个生成器,用于创建序列值列表。因此,您可以将示例改写为: db=db.dropdb.columns[listrange12,23]],轴=1试图引用列范围时Python中的语法错误,python,pandas,Python,Pandas,我试图从数据帧中删除最后几列。但是,执行此操作时会出现语法错误: db=db.dropdb.columns[[12:22]],轴=1 这是可行的,但看起来很笨拙 db=db.dropdb.columns[[12,13,14,15,16,17,18,19,20,21,22]],轴=1 如何引用一系列列?第一个示例使用[12:22]是一片空白。它不是一个有意义的语句,所以正如您所说,它给出了一个语法错误。似乎您想要的是一个包含数字12到22的列表。您需要像以前那样完整地写出它,或者使用一些生成器函数
虽然看起来你正在使用某种类型的库。如果您想要更详细的控制,您需要查看该库的文档。似乎db.columns是定义了数组运算符的类的对象。也许该类的文档展示了一种以列表以外的方式指定范围的方法。Steven Burnap的解释是正确的,但解决方案可以简化-只需删除内部括号: db=db.dropdb.columns[12:22],轴=1
这样,db.columns[12:22]实际上是columns数组的一个“切片”索引,但在这里并不重要,它进入了drop方法。我以前从未使用过pandas,但我快速查看了文档,似乎没有范围说明符;但如果只是一个列表,你可以使用列表理解,我想,像这样:[I for I in Range 12,23]