/tmp
函数的不同用法在我的分析中得出不同的结果。为什么会这样,它们的含义对我来说还不太清楚。有帮助吗?
我正在对Jupyter Notebook中的行为实验进行分析。对于每位参与者,我都有试验编号的数据。播种和收获的苹果,大米和柚木。我正在尝试对“柚木份额”进行平滑化和归一化(这是一个农业模拟游戏,而“柚木份额”是在每个试验中播种的柚木和收获的柚木之间的差异),然后找出它们在试验之间的差异。但是,当我以两种不同的方式使用diff()
时,会产生两种不同的结果。为什么会这样?
方案1:
diff()
在这里,通过平滑然后归一化然后取'diff()'来计算df 产量: 情节= plot of teak share
方案2:
#working out correlation for participant Parika
name = 'Parika'
fname = name + '.xlsx'
data = pd.read_excel(fname)
data.columns = data.columns.str.rstrip()
data['apple-share'] = [ i for i in np.cumsum(data[:]['Apples sown'].values - data[:]['Apples reaped'].values).flatten()]
data['rice-share'] = [ i for i in np.cumsum(data[:]['Rice sown'].values - data[:]['Rice reaped'].values).flatten()]
data['teak-share'] = [ i for i in np.cumsum(data[:]['Teak sown'].values - data[:]['Teak reaped'].values).flatten()]
df = ((data['teak-share'].rolling(window=25, min_periods = 1, win_type='parzen', center=True).mean() - data['teak-share'][24:].mean())/data['teak-share'][24:].std()).diff()
df.plot(kind="line")
for x in data[data['Resource Cost']>5000]['Simulation No'].values:
plt.axvline(x, color='red', linestyle=':', linewidth=2)
plt.xticks(np.arange(0,120, step= 24), (data['Block'][0], data['Block'][24][0], data['Block'][48][0], data['Block'][72][0], data['Block'][96][0]))
N = range(5)
cumdev = 0
for n in N:
cumdev = cumdev + df[data[data['Resource Cost']>5000]['Simulation No'].values + n].sum()
print(cumdev)
plt.title("Smoothed")
plt.ylabel("Teak share")
plt.xlabel("Trials")
plt.show()
此处,df的计算方法与上面相同,但没有'diff()'。计算cumdev时完成'diff()'。 产量: 情节-plot of teak share
红线表示遇到预算超支的情况。即使两种情况下的cumdev都相同,但情节却不同。我不清楚为什么会这样。请帮忙吗?