繁体   English   中英

绘制熊猫数据框分组列的一列差异图

[英]Plot graph of difference in one column for grouped columns of pandas dataframe

我有一个数据框,一个简化的例子如下:

   cycle  sensor  value
0      0       1   0.34
1      0       1   0.80
2      0       2   0.12
3      0       2   0.62
4      1       1   0.01
5      1       1   0.75
6      1       2   0.06
7      1       2   0.02

我想为每个传感器绘制“值”列的差异,对于每个周期:将 x 轴作为周期数,y 轴作为值的差异,每个系列将是给定的传感器编号。 例如,传感器 1 的线在周期 0 和 1 中将是 0.46 和 0.74。

实际上,我有更多的列(未用于这部分代码),并且有 144 个周期和 37 个周期。 每个传感器每个周期有几千个值。

这是我编写的代码,我没有收到错误消息:创建了一个图形但没有显示数据。

groups = unstacked_data.groupby(["cycle", "pressure"])

fig,ax = plt.subplots()
ax.set_xlabel("Cycle Number")
ax.set_ylabel("Change in Normalised Pressure")


for cycle, group in groups:
        ax.plot(cycle[0],group.value.max()-group.value.min(), label=group.pressure)

我不确定我做错了什么,任何建议将不胜感激! :)

好的,我想现在我明白了。 结果应该是这样的吗?

diff = df.groupby(["sensor","cycle"]).apply(lambda x:x.value.max()-x.value.min()).unstack()

#Output: each value in the table is max-min. Columns are cycles and rows are sensors
    cycle   0         1
sensor      
1          0.46     0.74
2          0.50     0.04

现在您可以按行绘制它,即按传感器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM