我有下面的熊猫 dataframe 'GDP'片段,其中列标签是浮点型的。
3 2013.0 2014.0 2015.0
4 NaN NaN NaN
5 3.127550e+09 NaN NaN
6 1.973134e+10 1.999032e+10 2.029415e+10
7 9.626143e+10 1.008863e+11 1.039106e+11
8 1.254247e+10 1.279331e+10 1.312082e+10
我尝试使用以下方法将这些float标签转换为整数,但未成功:
GDP.columns = GDP.columns.astype(int)
我不断收到错误消息: TypeError:无法将索引转换为dtype
然后我要将其转换为字符串(如下所示):
years = np.arange(2006, 2016).astype(str)
GDP = GDP[np.append(['Country'],years)]
有人可以帮我吗?
print(GDP.columns)
看起来像这样:
Index([ 'Country', 'Country Code', 'Indicator Name', 'Indicator Code',
1960.0, 1961.0, 1962.0, 1963.0,
1964.0, 1965.0, 1966.0, 1967.0,
1968.0, 1969.0, 1970.0, 1971.0,
1972.0, 1973.0, 1974.0, 1975.0,
1976.0, 1977.0, 1978.0, 1979.0,
1980.0, 1981.0, 1982.0, 1983.0,
1984.0, 1985.0, 1986.0, 1987.0,
1988.0, 1989.0, 1990.0, 1991.0,
1992.0, 1993.0, 1994.0, 1995.0,
1996.0, 1997.0, 1998.0, 1999.0,
2000.0, 2001.0, 2002.0, 2003.0,
2004.0, 2005.0, 2006.0, 2007.0,
2008.0, 2009.0, 2010.0, 2011.0,
2012.0, 2013.0, 2014.0, 2015.0],
dtype='object', name=3)
答案 0 :(得分:2)
仅转换数字列,这里表示前四列之后的所有列并连接在一起:
GDP.columns = GDP.columns[:4].tolist() + GDP.columns[4:].astype(int).astype(str).tolist()
然后:
years = np.arange(2006, 2016).astype(str)
GDP = GDP[np.append(['Country'],years)]