我有一个Dataframe,其中包含Country列和年份列(跨越1960 - 2015)。我希望在过去十年中创建一个仅包含Country和列的新Dataframe。
我已经成功地将最近十年变成了数据帧,但没有成为他们所对应的国家。
df = df[['Country', '%d' % i for i in range(2006, 2016)]]
从上面的代码中,我收到了语法错误。我做错了什么?
答案 0 :(得分:2)
python中的for
语法需要包含在括号中(创建生成器)或括号中(创建列表)。在这种情况下,您需要一个列列表。因此,将for循环包装在一对括号中,使其成为列列表,然后将Country
与+
连接起来:
df = df[['Country'] + ['%d' % i for i in range(2006, 2016)]]
或者在@DeepSpace评论时,使用str
方法将整数转换为字符串:
df = df[['Country'] + [str(i) for i in range(2006, 2016)]]