Фрейм данных Назначение возвращаемого фрейма данных NaN - PullRequest
0 голосов
/ 08 сентября 2018

Я использую функцию для возврата фрейма данных. Каждый столбец фрейма данных состоит из определенных условий. Если я запускаю строки для каждого столбца отдельно в консоли, он работает нормально, но когда я использую функцию, он возвращает фрейм данных с нулевыми значениями

def correl(meter,month):
 corr_matrix['Week 1']=data_merge.loc[((data_merge['meter_no']==meter)&(data_merge['week_n_x']==1)&(data_merge['month_y']==month)), 'mean_kw']
 corr_matrix['Week 2']=data_merge.loc[((data_merge['meter_no']==meter)&(data_merge['week_n_x']==2)&(data_merge['month_y']==month)), 'mean_kw']
 corr_matrix['Week 3']=data_merge.loc[((data_merge['meter_no']==meter)&(data_merge['week_n_x']==3)&(data_merge['month_y']==month)), 'mean_kw']
 corr_matrix['Week 4']=data_merge.loc[((data_merge['meter_no']==meter)&(data_merge['week_n_x']==4)&(data_merge['month_y']==month)), 'mean_kw']
 return corr_matrix
m=6    
for i in unique_meter:   
     #plt.plot()
     plt.subplot(1, 2, 1) ##weekly consumption
     plt.plot(data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==1),'day_week_x'],data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==1),'mean_kw'], color='red',  label="Week 1")
     plt.plot(data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==2),'day_week_x'],data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==2),'mean_kw'], color='orange', label="Week 2")
     plt.plot(data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==3),'day_week_x'],data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==3),'mean_kw'], color='blue', label="Week 3")
     plt.plot(data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==4),'day_week_x'],data_merge.loc[(data_merge['meter_no']==i)&(data_merge['month_y']==m)&(data_merge['week_n_x']==4),'mean_kw'], color='green', label="Week 4")
     plt.xlabel('day')
     plt.ylabel('Power Consumption_'+str(i))

     plt.subplot(1, 2, 2) ##correlation check
     plt.matshow((correl(i,m)).corr())
     plt.legend()
     plt.show()
plt.figure(figsize=(1000,50))

Моя проблема здесь с фреймом данных corr_matrix

...