1
我最近開始學習熊貓,我在使用groupby和agg後如何繪製結果方面遇到了一些麻煩。使用Pandas,我創建了一個數據框,並根據兩列「ID」和「x」對它進行分組。然後,我從組中選擇一個特定列('結果')來計算sem和mean。如何繪製Pandas中groupby後的聚合結果?
具體來說,代碼:
df = pd.read_csv('pandas_2015-11-7.csv')
df_group = df.groupby(['x','ID'])['results']
df_group_results = df_group.agg([stats.sem, np.mean])
結果如下所示:
sem mean
x ID
2.5 0 0.010606 0.226674
1 0.000369 0.490820
2 0.000508 0.494094
5.0 0 0.001672 0.005059
1 0.012252 0.190962
2 0.003696 0.170342
7.5 0 0.001630 0.004506
1 0.002567 0.016109
2 0.002081 0.047301
10.0 0 0.000000 0.000000
1 0.000000 0.000000
2 0.000000 0.000000
12.5 0 0.000000 0.000000
1 0.000000 0.000000
2 0.000000 0.000000
我的問題是如何使基於這些結果的誤差棒線圖? X軸應該基於'x'值,'ID'確定線(在這種情況下,3條線的圖例爲0,1和2)。我想達到的理想情節是這樣的plot http://matplotlib.org/1.2.1/mpl_examples/pylab_examples/errorbar_demo_00.png。
謝謝!這就說得通了。我想指出的一個小錯誤是我認爲你的意思是說(x,ID)而不是(ID,x)。 – kc2uno
謝謝,現在改變了。 – danielstn