在Pandas中减去两个数据帧

时间:2015-09-22 11:42:34

标签: python pandas matplotlib

我有一个数据框:

hourly = pd.DataFrame((np.random.randn(24,2)), columns=['mean','std']) hourly.index.name = 'Hour'

我想绘制每小时平均值以及任一侧的标准偏差,并在标准偏差带之间绘制阴影区域。我有以下代码来执行此操作:

plt.figure()
plt.plot(hourly["mean"].index, hourly["mean"] , 'k')
upp_bd = hourly["mean"].add(2*hourly['std'])
low_bd = hourly['mean'].subtract(2*hourly['std'])    
plt.fill_between(hourly.index, upp_bd,low_bd,color='b', alpha=0.2)

不幸的是我一直收到以下错误:

ValueError: Argument dimensions are incompatible

hourly["mean"]变量具有以下数据结构:

      SomeNum
Hour           
0     50.003195
1     50.003687
2     50.005464
3     50.002127
4     49.998756
5     50.000194
6     49.994266
7     49.989631
8     49.997383
9     49.998948
10    50.005860
11    49.999882
12    50.000132
13    49.997024
14    49.995282
15    49.994489
16    49.995658
17    50.006386
18    50.004037
19    49.999172
20    49.999787
21    50.000317
22    50.000174
23    50.002752

upp_bdlow_bd变量具有以下结构:

      SomeNum
Hour           
0     50.112504
1     50.108413
2     50.107596
3     50.104473
4     50.099938
5     50.108084
6     50.106991
7     50.102655
8     50.107372
9     50.106870
10    50.111932
11    50.105725
12    50.104598
13    50.101926
14    50.100037
15    50.103230
16    50.107482
17    50.115969
18    50.114712
19    50.112294
20    50.116430
21    50.116907
22    50.109491
23    50.110875

并且hourly.index变量具有以下结构:

Int64Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
           dtype='int64', name=u'Hour')

注意,第一个图plt.plot(hourly["mean"].index, hourly["mean"] , 'k')工作正常。

0 个答案:

没有答案