我有一个 Dataframe ,如下所示
color x y
0 red 0 0
1 red 1 1
2 red 2 2
3 red 3 3
4 red 4 4
5 red 5 5
6 red 6 6
7 red 7 7
8 red 8 8
9 red 9 9
10 blue 0 0
11 blue 1 1
12 blue 2 4
13 blue 3 9
14 blue 4 16
15 blue 5 25
16 blue 6 36
17 blue 7 49
18 blue 8 64
19 blue 9 81
我最终想要两条线,一条蓝线,一条红线,红线应该是y=x,蓝线应该是y=x^2
当我执行以下操作时:
df.plot(x='x', y='y')
输出如下:
有没有办法让Pandas知道有两个集合?并相应地将它们分组。我希望能够指定列color
作为集合的区分符
6条答案
按热度按时间vxqlmq5t1#
另一种简单的方法是使用
pandas.DataFrame.pivot
函数来格式化数据。使用
pandas.DataFrame.plot
绘图。如果'color'
列中的颜色存在于matplotlib: List of named colors中,则可以将其传递给color
参数。wbgh16ku2#
您可以使用
groupby
根据颜色将DataFrame拆分为子组:产量
lc8prwob3#
如果安装了
seaborn
,则有一种更简单的方法,不需要执行pivot
:1sbrub3j4#
您也可以尝试使用以下代码在Pandas数据框中绘制不同颜色的多条线。
输出:
bwitn5fc5#
最常用的方法是基于
color
组绘制不同的颜色,也就是说,我们使用Dataframe.groupby
对颜色进行分组,然后在相关轴上绘制数据。例如
drkbr07n6#
您可以使用此代码获得所需的输出
绘制图形
输出