matplotlib:绘制二维数据框的二维散点图

时间:2018-08-04 19:06:45

标签: python dataframe matplotlib plot

我有以下数据框,其中显示了多个变量,包括年龄范围,性别,国籍和总人数。

+---------+---+---+----------+
| 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中绘制以下散点图。我该怎么办

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要拆开sex列才能获得另外两列:MF。肮脏的例子:

>>> 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)