已知8个同学的“姓名、体重”数据,存入以下字典wDict;找出超过平均体重的“姓名、体重”。 wDict={"李英":60.5,"陈操":52.3,"钟浩":78,"胡蕾":82.8,"董蓓":54,"刘浜":76.3,"孙泉":58.5,"何珑":71}
时间: 2023-12-11 07:33:57 浏览: 107
以下是两种方法来找出超过平均体重的“姓名、体重”:
1.使用字典遍历
```python
wDict={"李英":60.5,"陈操":52.3,"钟浩":78,"胡蕾":82.8,"董蓓":54,"刘浜":76.3,"孙泉":58.5,"何珑":71}
# 计算平均体重
average = sum(wDict.values())/len(wDict)
# 遍历字典,找出超过平均体重的“姓名、体重”
for name, weight in wDict.items():
if weight > average:
print(name, weight)
```
2.使用列表推导式
```python
wDict={"李英":60.5,"陈操":52.3,"钟浩":78,"胡蕾":82.8,"董蓓":54,"刘浜":76.3,"孙泉":58.5,"何珑":71}
# 计算平均体重
average = sum(wDict.values())/len(wDict)
# 使用列表推导式找出超过平均体重的“姓名、体重”
result = [(name, weight) for name, weight in wDict.items() if weight > average]
# 输出结果
for name, weight in result:
print(name, weight)
```
相关问题
df = pd.DataFrame({'key1' : ['a','a','c','d','a'], 'key2' : ['yes', 'no', 'yes', 'yes', 'no'], 'data1' : np.random.randn(5), 'data2' : np.random.randn(5)}) grouped = df['data1'].groupby(df['key1']) print(grouped.size()) print(grouped.mean()) groupk1 = df.groupby('key2').mean() print(groupk1) wlist = ['w','w','y','w','y'] df.groupby(wlist).sum() df1 = pd.DataFrame(np.random.normal(size = (6,5)),index = ['a','b','c','A','B','c']) print("数据为:\n",df) wdict = {'a':'one','A':'one','b':'two','B':'two','c':'three'} print("分组汇总后的结果为:\n",df.groupby(wdict).sum())
好的,您的问题是关于 Python 中的 Pandas 库中的分组(groupby)操作的代码。
这段代码中,我们首先创建了一个 DataFrame 对象 df,包含了四列数据,其中 key1 和 key2 是分类变量,data1 和 data2 是连续变量。
接着,我们对 df 中的 data1 进行了按 key1 分组的操作,使用了 groupby 函数,将结果保存在 grouped 变量中。我们分别输出了每个组的大小(grouped.size())和每个组的平均值(grouped.mean())。
然后,我们对 df 中的所有列进行了按 key2 分组的操作,并计算了每个组的平均值,将结果保存在 groupk1 变量中,并输出了结果。
接着,我们创建了一个列表 wlist,其中包含了多个字符串,然后对 df 中的所有列进行了按 wlist 分组的操作,并计算了每个组的和,但是这里没有将结果保存在变量中,只是直接输出了结果。
最后,我们创建了一个新的 DataFrame 对象 df1,其中包含了六行数据,使用了不同的大小写字母作为行索引。然后,我们创建了一个字典 wdict,将行索引中的大小写字母映射到了字符串中的数字。接着,对 df1 中的所有列进行了按 wdict 分组的操作,并计算了每个组的和,并将结果保存在 df.groupby(wdict).sum() 变量中,并输出了结果。
希望这个解答能够帮到您!
阅读全文