我有一个Excel文件,其列名标题为数字。我需要根据年龄将“卓越”分为“ 18岁以下”和“ 18岁以上”两个方面,所以我试图总结年龄,并创建一个新列“ 18岁以下”。 我尝试这样做,但由于该列标有数字;
df['under 14'] = df['Under 10'] + df['10-12'] + df['13-14'] + df['15']
它给出了一个错误,但是如果我将列名写为“十五”,它就给了我总数。我该如何总结一下,并将列名保持为15?
答案 0 :(得分:2)
问题不在熊猫上,而是在Excel上。
我相信您的列名是15
作为数字。因此df[15]
可能有效。请检查。大熊猫可以将'15'
识别为字符串,而将15
识别为数字。您可以通过df.columns
检查数据框的列名,并且很容易辨别。但是,如果您使用的是Excel并键入15
,则Excel将尝试智能播放并将其存储为数字而不是字符串。因此,这就是您出错的原因。
解决方案:
df[15]
即可;或在执行任何操作之前,请尝试规范化列名称,例如
df.columns = [str(x) for x in df.columns]