Построение групп значений в Python

У меня есть датафрейм, который выглядит следующим образом.

        country  age  new_user  
298408      UK   32         1   
193010      US   37         0 
164494      UK   17         0   
28149       US   34         0  
297080   China   29         1    

Я хочу изобразить количество new_users для возрастных групп (20–30, 30–40 и т. Д.) Для каждой страны на одном графике в Python.

По сути, мне нужно построить график new_user(значение 0) для всех возрастных групп и new_user(значение 1) для всех возрастных групп для всех стран.

Мне трудно сгруппировать возрасты по 20-30, 30-40 и так далее. Может кто-нибудь, пожалуйста, помогите мне построить это, используя seaborn, ggplot или matplotlib в python? ggplot предпочтительнее!

Спасибо.

1 ответ

Решение
import seaborn as sns
from pandas import DataFrame
from matplotlib.pyplot import show, legend
d = {"country": ['UK','US','US','UK','PRC'],
       "age": [32, 37, 17, 34, 29],
       "new_user": [1, 0, 0, 0,1]}

df = DataFrame(d)
bins = range(0, 100, 10)
ax = sns.distplot(df.age[df.new_user==1],
              color='red', kde=False, bins=bins, label='New')
sns.distplot(df.age[df.new_user==0],
         ax=ax,  # Overplots on first plot
         color='blue', kde=False, bins=bins, label='Existing')
legend()
show()

введите описание изображения здесь

Другие вопросы по тегам