我有以下数据框,其中显示了多个变量,包括年龄范围,性别,国籍和总人数。
+---------+---+---+----------+
| range |Sex|NOC|sum(count)|
+---------+---+---+----------+
|2000-2020| M|SUR| 13|
|2000-2020| M|SRI| 33|
|1940-1960| F|YUG| 86|
|1980-2000| F|IND| 54|
|1900-1920| M|GBR| 1636|
|2000-2020| M|AFG| 13|
+---------+---+---+----------+
我想在matplotlib或seaborn中绘制以下散点图。我该怎么办
答案 0 :(得分:1)
您需要拆开sex
列才能获得另外两列:M
和F
。肮脏的例子:
>>> df_ = df.set_index(['year', 'noc', 'sex']).unstack().reset_index()
>>> df_.columns = [''.join(col).strip() for col in df_.columns.values]
然后您可以使用seaborn:
>>> sb.scatterplot(x='sumM', y='sumF', hue='year', data=df)