【问题标题】:matplotlib: Plot 2D scatter plot for multidimensional dataframematplotlib:绘制多维数据帧的二维散点图
【发布时间】:2018-08-04 19:06:45
【问题描述】:

我有以下数据框,它显示了多个变量,包括年份、性别、国籍和总人数。

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

【问题讨论】:

  • 你应该提供更多细节和代码示例。

标签: python dataframe matplotlib plot


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2019-02-07
    • 2017-11-23
    • 2015-08-02
    相关资源
    最近更新 更多