【发布时间】:2015-11-27 05:55:11
【问题描述】:
我有以下熊猫数据框'df':
---------------------------------------------------
C1 C2 C3 C4 Type
---------------------------------------------------
Name
---------------------------------------------------
x1 a1 b1 c1 d1 'A'
x2 a2 b2 c2 d2 'A'
x3 a3 b3 c3 d3 'B'
x4 a4 b4 c4 d4 'B'
x5 a5 b5 c5 d5 'A'
x6 a6 b6 c6 d6 'B'
x7 a7 b7 c7 d7 'B'
---------------------------------------------------
此数据框中有 6 列:Name, C1, C2, C3, C4, and Type。我想使用按“类型”列分组的这个数据框生成两个线图(单独的图 - 不是同一图上的两条线)。基本上,我想绘制 C1 相对于按类型分组的名称的值。所以,在一张图上,我想在另一张图上有(x1, c1), (x2, c2), (x5, c5) on one plot, and (x3,c3), (x4, c4), (x6,c6), and (x7,c7)。
请注意,名称和其他列位于不同的行中。
我在 SO 上发现了一个类似的问题,用于绘制箱线图 here,因此我尝试将其修改为线图。我尝试使用df.plot(column='C1', by='Type'),但似乎没有属性'column' for a plot()。
关于如何实现我的目标有什么想法吗?
【问题讨论】:
-
也许使用
df.groupby() -
你希望这个情节如何?您提供的这些 y 值不是标量。
-
@Oz123 y 值是标量;我仅将 'c1,c2,...,c6' 用于演示目的。
-
@furas:我尝试使用 ``df[df.columns[0]].plot(groupby='Type')'' 但这会返回相同的错误 - 'no line property 'groupby' '
-
我在考虑
df.groupby()而不是plot(groupby)在绘制之前对元素进行分组。 pandas.pydata.org/pandas-docs/stable/generated/…
标签: python pandas matplotlib plot