df_temp = df2.loc[lambda x : x['Type 1']=='Fighting']
df_temp.sort_values(by='Attack',ascending=False).head(3)
#
Name
Type 1
Type 2
Total
HP
Attack
Defense
Sp. Atk
Sp. Def
Speed
Generation
Legendary
498
448
LucarioMega Lucario
Fighting
Steel
625
70
145
88
140
70
112
4
False
594
534
Conkeldurr
Fighting
NaN
505
105
140
95
55
65
45
5
False
74
68
Machamp
Fighting
NaN
505
90
130
80
65
85
55
1
False
df2['range']= df2.iloc[:,5:11].max(axis=1)-df2.iloc[:,5:11].min(axis=1)
df_temp = df2[['Type 1','range']].set_index('Type 1')
mrg=0
result =''for i in df_temp.index.unique():
temp = df_temp.loc[i,:].mean()if temp.values[0]> mrg:
mrg = temp.values[0]
result = i
result
df_temp = df2.query('Legendary == True')[['Type 1','Total']].set_index('Type 1')
mval =0
result =''for i in df_temp.index.unique():
temp =float(df_temp.loc[i,:].mean())if temp > mval:
mval = temp
result = i
result