我是一个使用Python的新手,我正在尝试使用panda来返回name列的值,该name列具有每个数字列的最大平均分组值。
以Pokemon数据集为例,下面的代码加载数据。
import pandas as pd
url = "https://raw.githubusercontent.com/UofGAnalyticsData/DPIP/main/assesment_datasets/assessment3/Pokemon.csv"
df4 = pd.read_csv(url)
然后,接下来的代码行按类型1分组,并返回分组后每个数值属性的平均输出。
df4.groupby("Type 1")[["Total", "HP", "Attack", "Defense", "Sp. Atk", "Sp. Def", "Speed"]].agg("mean")
我想修改这段代码,以便从结果表中,它概述了“类型1”的名称,它具有最高的平均总数,HP,攻击等...
下面的代码给出了数字最大值,但我还想返回每个最大值所属的类型1的名称。
df4.groupby("Type 1")[["Total", "HP", "Attack", "Defense", "Sp. Atk", "Sp. Def", "Speed"]].agg("mean").agg("max")
我该怎么用Pandas来简洁地表达呢?谢谢。
1条答案
按热度按时间2g32fytz1#
您可以只在
agg()
方法中加入idxmax
: