Используйте np.concatenate, чтобы присоединиться к столбцу - PullRequest
0 голосов
/ 13 ноября 2018
mean_month=np.mean(Sktm_temp_1999_2011[1:13,:],axis=1)
max_month=np.max(Sktm_temp_1999_2011[1:13,:],axis=1)
min_month=np.min(Sktm_temp_1999_2011[1:13,:],axis=1)
np.savetxt('temp_mean_max_min.txt',np.concatenate((mean_month,max_month,min_month),axis=1),fmt='%1.1f')

1 Ответ

0 голосов
/ 13 ноября 2018

Без ваших данных (в массиве Sktm_temp_1999_2011) неясно, что вы пытаетесь сделать или где происходит ошибка. Это похоже на месячные данные о температуре за 1999-2011 годы. :-) (12 месяцев, 13 лет)
Сначала проверьте диапазон для np.mean, np.max и np.min. Вы действительно хотите 1:13 или вы намеревались 0:13 получать статистику за каждый месяц в течение 13 лет?
Кроме того, axis = 1 использует второй индекс. Это индекс по месяцам в ваших данных?
Чтобы показать, как этот может работать , я создал некоторые данные для Sktm_temp_1999_2011, размер [13,12]. Строки - годы, столбцы - месяцы. Я рассчитал статистику (w / axis = 0, чтобы получить ежемесячные данные в каждом столбце). 3 массива затем копируются в новый массив. Вы также можете объединить, но не знаете, зачем вам нужно среднее, максимальное, минимальное в одномерном массиве. Отсюда вы можете форматировать по желанию для печати. ​​

Sktm_temp_1999_2011 = np.arange(156).reshape(13,12)
mean_month=np.mean(Sktm_temp_1999_2011[0:13,:],axis=0)
max_month=np.max(Sktm_temp_1999_2011[0:13,:],axis=0)
min_month=np.min(Sktm_temp_1999_2011[0:13,:],axis=0)
stat_data=np.zeros([3,12])
stat_data[0,:]=mean_month
stat_data[1,:]=max_month
stat_data[2,:]=min_month
print (stat_data)

Выход:

[[  72.   73.   74.   75.   76.   77.   78.   79.   80.   81.   82.   83.]
 [ 144.  145.  146.  147.  148.  149.  150.  151.  152.  153.  154.  155.]
 [  0.    1.    2.    3.    4.    5.    6.    7.    8.    9.   10.   11.]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...