![](/img/trans.png)
[英]How do I get the sum of columns from a csv within specified rows using dates inputting as variables in 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.