创建数据帧时出现语法错误

时间:2016-12-28 14:18:22

标签: python python-3.x pandas

我有一个Dataframe,其中包含Country列和年份列(跨越1960 - 2015)。我希望在过去十年中创建一个仅包含Country和列的新Dataframe。

我已经成功地将最近十年变成了数据帧,但没有成为他们所对应的国家。

df = df[['Country', '%d' % i for i in range(2006, 2016)]]

从上面的代码中,我收到了语法错误。我做错了什么?

1 个答案:

答案 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)]]