如何使用显式值筛选多行并使用Pandas选择列

2024-09-28 14:20:09 发布

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

选择多个显式行和列,然后计算平均值

大家好,谢谢大家看这个问题。我正在使用一个神奇宝贝数据集,希望选择显式的行和列,然后计算该值的平均值

使用的列是type_1generationtotal_points

行值为Grass1

Grass对应于type,而1对应于generation

grass_total_points = pokedex.loc[pokedex.type_1 == 'Grass', ['total_points']].mean()

上面的代码可以工作并返回所有8代中所有草类型的总平均值,但我想一代一代地检索它们

gen_1 = pokedex.loc[pokedex['generation'] == '1' & pokedex['type_1'] == 'Grass', ['total_points']].mean()

我尝试了上面的代码,没有运气,我四处搜索,找不到任何答案


Tags: 数据代码类型typemeanlocpointsgeneration
1条回答
网友
1楼 · 发布于 2024-09-28 14:20:09

Jeremy,试试groupby方法:

import pandas as pd
pokedex = pd.DataFrame({'Type':['Grass','Grass','Grass','Sand','Sand'],
                        'Generation':[1,2,1,1,1],"TotalPoints":[50,10,20,30,40]})
pokedex.groupby(['Type','Generation'])['TotalPoints'].mean()

应返回:

Type   Generation
Grass  1             35
       2             10
Sand   1             35
Name: TotalPoints, dtype: int64

相关问题 更多 >