Python计算城市年降雨量的函数

2024-10-01 19:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一份城市年降雨量记录表。列表中的每个元素都是(c,r)的形式,其中c是城市,r是特定年份的年降雨量。同一个城市可能有多个条目,对应不同年份的降雨量记录。在

编写一个Python函数rainaverage(l),该函数接受一个降雨记录列表作为输入,并计算每个城市的平均降雨量。输出应该是成对(c,ar)的列表,其中c是城市,ar是输入列表中记录的该城市的平均降雨量。注意ar应该是float类型。输出应该根据城市名称按字典顺序排序。在

下面是一些例子来说明平均降雨量(l)的工作原理。在

rainaverage([(1,2),(1,3),(2,3),(1,1),(3,8)]) [(1, 2.0), (2, 3.0), (3, 8.0)]

rainaverage([('Bombay',848),('Madras',103),('Bombay',923),('Bangalore',201),('Madras',128)]) [('Bangalore', 201.0), ('Bombay', 885.5), ('Madras', 115.5)]


Tags: 函数元素列表记录条目形式ar降雨
1条回答
网友
1楼 · 发布于 2024-10-01 19:23:22

您可以使用pandas来执行此操作:

import pandas as pd
l = [('Bombay',848),('Madras',103),('Bombay',923),('Bangalore',201),('Madras',128)]
df = pd.DataFrame(l, columns=['city', 'rainfall'])

output = []
for c in df['city'].unique():
    output += [(c, df[df['city'] == c]['rainfall'].mean())]

print(output)

相关问题 更多 >

    热门问题