如何获取数据框的列总和

时间:2019-04-16 17:56:47

标签: python pandas

我有一个Excel文件,其列名标题为数字。我需要根据年龄将“卓越”分为“ 18岁以下”和“ 18岁以上”两个方面,所以我试图总结年龄,并创建一个新列“ 18岁以下”。 我尝试这样做,但由于该列标有数字;

df['under 14'] = df['Under 10'] + df['10-12'] + df['13-14'] + df['15']

它给出了一个错误,但是如果我将列名写为“十五”,它就给了我总数。我该如何总结一下,并将列名保持为15?

1 个答案:

答案 0 :(得分:2)

问题不在熊猫上,而是在Excel上。

我相信您的列名是15作为数字。因此df[15]可能有效。请检查。大熊猫可以将'15'识别为字符串,而将15识别为数字。您可以通过df.columns检查数据框的列名,并且很容易辨别。但是,如果您使用的是Excel并键入15,则Excel将尝试智能播放并将其存储为数字而不是字符串。因此,这就是您出错的原因。

解决方案:

  1. 在Excel中,将数字显式存储为字符串。或
  2. 在熊猫中只需使用df[15]即可;或
  3. 在执行任何操作之前,请尝试规范化列名称,例如

    df.columns = [str(x) for x in df.columns]