Pandas 如何根据数据帧中的列数删除大量列?

Pandas 如何根据数据帧中的列数删除大量列?,pandas,dataframe,Pandas,Dataframe,我有一个数据框,它有60列。列的名称为年份,命名为1960.0、1961.0……2010.0。我想从1960年到2006年删除这些列。这就是我迄今为止所尝试的: a = list(map(str,map(float,range(1960,2006)))) gdp = gdp.drop(a,axis=1) gdp 当我运行代码时,它显示如下: keyrerror:['1960.0''1961.0''1962.0''1963.0''1964.0''1965.0''19

我有一个数据框,它有60列。列的名称为年份,命名为1960.0、1961.0……2010.0。我想从1960年到2006年删除这些列。这就是我迄今为止所尝试的:

     a = list(map(str,map(float,range(1960,2006))))
     gdp = gdp.drop(a,axis=1)
     gdp
当我运行代码时,它显示如下:

keyrerror:['1960.0''1961.0''1962.0''1963.0''1964.0''1965.0''1966.0''1967.0'\n'1968.0''1969.0''1970.0''1971.0''1972.0''1973.0''1974.0''1975.0'\n'1976.0''1977.0''1978.0''1979.0''1980.0''1981.0''1982.0''1983.0'\n'1984.0''1985.0''1986.0''1987.0''1988.0''1988.0''1989.0''1990.0''1991.0''\n'1992.0''1990.0''1991.0''1995.0''1995.0''1995.0''1996.0''“1998.0”“1999.0”“\n”“2000.0”“2001.0”“2002.0”“2003.0”“2004.0”“2005.0”“]未在axis中找到”

我认为\n在这里有干扰,但我不知道如何使它工作。有什么帮助吗?
列的标题是1960.0、1961.0、…2010.0。但它仍然不起作用。

我认为您需要删除浮点数,而不是字符串,因此删除后转换为字符串:

 a = list(map(float,range(1960,2006)))
 #or
 #a = list(range(1960,2006))

 gdp = gdp.drop(a,axis=1)
或:


我认为您需要删除浮点数,而不是字符串,因此删除后转换为字符串:

 a = list(map(float,range(1960,2006)))
 #or
 #a = list(range(1960,2006))

 gdp = gdp.drop(a,axis=1)
或:


如何工作
gdp=gdp.drop(list(range(19602006)),axis=1)
gdp=gdp.drop(a,axis=1)
之前的
print(gdp.columns.tolist())是什么
gdp.drop(list(range(19602006)),axis=1)
gdp=gdp.drop(a,axis=1)之前的
是什么
打印(gdp.columns.tolist())