首页 文章

Python:在Pandas中使用group_by函数分散绘图

提问于
浏览
0

我有一个数据框,其中有一个名为genres的列 . 每种类型都有多个值作为电影名称 . 格式如下:

Movie_val  Genre
      2       Fantasy
      11      Adventure
      12      Comedy
      2       Fantasy
      2       Adventure
     11       Adventure
     13       Thriller
     12       Fantasy
     10       Thriller
     11       Drama
     1        Fantasy

我需要基于movie_val对每个类型进行分组,并在散点图中绘制每个组,如群集(例如:一个群集或颜色中的动作类型电影,另一个群集中的冒险等) . 我检查了matplot lib库,它期望聚类图的两个值X和Y.我的group_by命令将有很多电影值(例如,冒险类型有很多值,我不知道如何将值绘制为一组) .

此外,这些group_by值中的每一个都应以不同的颜色表示 . 我尝试了下面的条形图代码 . 但我正在寻找散点图,因为下面的格式不允许散点图 .

result = df.groupby(['genres'])['Movie_val'].quantile(0.5)
     result.sort_values().plot(kind='barh')

我在使用pandas库的python中尝试这个 . 任何帮助将不胜感激 .

1 回答

  • 0

    seaborn图书馆可能会给你你想要的东西 . 当然,您仍然需要选择数据框的哪些列将提供散点图的坐标 .

    import seaborn as sns
    g = sns.FacetGrid(df, hue="Genre", size=5)
    g.map(plt.scatter, "column name for x dimension", "column name for y dimension", s=50, alpha=.7)
    g.add_legend();
    

    另请参见具有更复杂分面的示例:https://stanford.edu/~mwaskom/software/seaborn/tutorial/axis_grids.html

相关问题