データフレームがあります。簡単な例を以下に示します。
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
そして今、あなたはそれを行ごとに、すなわちセンサーごとにプロットすることができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加