我有一个 Excel 文件,其中列名称的标题为数字。我需要根据年龄将 Excel 分为两侧,即“18 岁以下”和“18 岁以上”,因此我也尝试总结年龄并创建一个新列“18 岁以下”。 我尝试这样做,但由于该列标有数字;
df['under 14'] = df['Under 10'] + df['10-12'] + df['13-14'] + df['15']
它给出了一个错误,但如果我将列名写为“十五”,它就会给出总数。我怎样才能像这样总结并保持列名为15?
最佳答案
问题不在 pandas 上,而是在 Excel 上。
我相信您的列名称是 15
作为数字。所以 df[15] 可能会起作用。请检查。 Pandas 可以区分 '15'
作为字符串与 15
作为数字。您可以通过 df.columns 检查数据框的列名称,并且很容易看出。但是,如果您使用 Excel 并输入 15
,Excel 将尝试智能地将其存储为数字而不是字符串。所以这就是您出现错误的原因。
解决方案:
- 在 Excel 中,将数字显式存储为字符串;或
- 只需在 pandas 中使用
df[15]
即可;或 在执行任何操作之前,请尝试规范化列名称,例如
df.columns = [str(x) for x in df.columns]
关于python - 如何获取数据框的列总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55714059/