繁体   English   中英

如何获得 Python 中多列的总和?

[英]How do I get the sum of multiple columns in Python?

我是 Python 和数据结构的初学者。 我如何能够找到我想要的行的特定列中的值的总和? 例如,假设我想找到布朗克斯的 2018 年艾滋病毒诊断 + 2018 年艾滋病诊断 + 2019 年艾滋病毒诊断 + 2019 年艾滋病诊断 + 2017 年艾滋病毒诊断 + 2017 年艾滋病诊断的所有值的总和

我有 csv 文件保存为 dataframe 称为诊断。 我知道对于相邻的 select 列,我可以使用 iloc。 但在这种情况下,我将跳过 2017、2018、2019 死亡列。

提前致谢。

自治市镇 2018年艾滋病毒诊断 2018年艾滋病诊断 2018 年死亡人数 2019年艾滋病毒诊断 2019年艾滋病诊断 2017年艾滋病毒诊断 2017年艾滋病诊断 2017 年死亡人数
布朗克斯 2 4 54 23 98 8 7 8 0
布朗克斯 6 9 5 76 45 9 6 4 3
布朗克斯 2 4 54 23 98 8 7 8 0
曼哈顿 6 9 5 76 45 9 6 4 3

编辑:到目前为止我的代码和预期的 output。

我真正拥有的只是将 csv 作为 dataframe 导入。

import pandas as pd 

diagnoses = pd.read_csv('DATA\\HIV_AIDS.csv')
print("HIV/AIDS Diagnoses and Deaths from 2017-19 \n")
print(diagnoses_csv)
print()

我想要得到什么:

bronx_diagnoses = ...
print("Total diagnoses in the Bronx 2017-2019: ", bronx_diagnoses)

brooklyn_diagnoses = ...
print("Total diagnoses in Brooklyn 2017-2019: ", brooklyn_diagnoses)

布朗克斯区 2017-2019 年的总诊断:(插入总和)

2017-2019 年布鲁克林的总诊断:(插入总和)

假设您有 pandas dataframe(数据),您可以通过将列名包含在列表中来对特定列进行子集化。

然后您可以使用sum()方法计算列总和,然后再次求和以获得总金额。

data[[
    '2018 hiv diagnoses', '2018 aids diagnoses',
    '2019 hiv diagnoses', '2019 aids diagnoses',
    '2017 hiv diagnoses', '2017 aids diagnoses'
    ]].sum().sum()

有更好的方法,但.loc有效。 将具有 boolean 索引的行和列指定为列表:

rows = df.Borough == 'Bronx'
columns = ['2018 hiv diagnoses', '2018 aids diagnoses', '2019 hiv diagnoses', '2019 aids diagnoses', '2017 hiv diagnoses', '2017 aids diagnoses']

bronx_diagnoses = df.loc[rows, columns].sum().sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM