Можно ли одновременно выполнять операции с максимальными и средними значениями на кадре данных. Моя цель - создать гистограмму и линейный график для следующих данных в Python.
- Найдите 3 страны с максимальным количеством баллов {Германия, Канада, Франция}
- Для вышеуказанных стран найдите среднюю цену
Бар будет на максимуме Очки пока линии тренда будут на средней цене
import numpy as np
dfrn1 = pd.DataFrame({
'country' : np.array(['France', 'US', 'France', 'US', 'Germany', 'US', 'France', 'France', 'India', 'Canada' ]),
'price' : np.array([1,2,3,4,5,6,7,8,9,7]),
'points' : np.array([98,88,90,90,100,69,87,87,87,99 ])
})
dfrn1
Это то, что у меня есть
country = dfrn1.groupby("country")
country.describe().head()
t1 = country.points.max().sort_values(ascending=False).head(4).reset_index(name='points')
t2 = country.price.mean().reset_index(name='price')
mergedStuff = pd.merge(t1, t2, on=['country'], how='inner')
mergedStuff
fig = go.Figure()
fig.add_trace(
go.Bar(
x= mergedStuff['country'],
y= mergedStuff['points'],
name="Maximum Points" ,
marker=dict(color = '#47d2fc'),
))
fig.add_trace(
go.Scatter(
x= mergedStuff['country'],
y= mergedStuff['price'],
name="Average Price" ,
line=go.scatter.Line(color="crimson"),
))
fig.show()