我尝试从不同年份的CSV中合计某个特定年份的另一列中的值。
| 年|价值|
| - ------|- ------|
| 二○ ○ ○年|五个|
| 二○ ○一年|四个|
| 二○ ○ ○年|三个|
| 二○ ○二年|六个|
等等
其中定义的值total为total_value = 0
。
我有:
for year in years:
if year == 2000:
total_value += ???
返回的值应该是8。我试过使用.loc修饰符,但没有用。这是一个简单的问题,但我现在就是想不通!
3条答案
按热度按时间hgb9j2n61#
tpgth1q72#
这里有一些非Pandas的答案,使用的是csv模块,注意,因为我没有把年份值转换成int,所以target_year是字符串格式的。
1.使用
csv.DictReader
读取每一行,检查年份并将值相加。1.使用带有列表解析的
csv.reader
和sum()
获取匹配值。如果要检查多个年份的组合,可以将它们全部放在一个列表中,然后使用类似
if row["years"] in target_years:
的命令daupos2t3#
下面是使用loc方法的一种方法
我假设 Dataframe 有三列:years,value,total_value此代码对所选年份的值求和,并在所选年份的所有行的total_value列中更改该值
我希望你觉得这个有用