У меня есть два вектора того же размера, один для высоты волны, и один для периода, соответствующего одному в тот же момент времени, в который было произведено измерение. Я хочу знать, сколько раз повторяются два конкретных данных, например:Как подсчитать, сколько раз повторяется пара конкретных значений в массиве?
Hs = [0,5 1,0 2,3 0,5 0,5]
Tm = [2,0 2,5 2,0 2,0 3,0]
Таким образом, вы можете см:
Hs Тт графа
0,5 2,0 2
0,5 2,5 0
0,5 3,0 1
1,0 2,0 0
1,0 2,5 1 ...
Я попытался, но возникают следующие ошибки, потому что появляются целые строки и столбцы без данных, и когда я вижу свою информацию ценности.
from numpy import *
from matplotlib.pyplot import *
import matplotlib.pyplot as plt
from time import *
clf; cla; close
dat = loadtxt("ecmwf.dat", unpack=True)
HSf = dat[0,:]
HSf = around(HSf,decimals=1)
TMf = dat[1,:]
TMf = around(TMf,decimals=1)
mmat = zeros((31,141))
vhs = linspace(0.0,3.0,31)
vtm = linspace(0.0,14.0,141)
for i in xrange(0, vtm.size):
for k in xrange(0, vhs.size):
if all((k <= vhs.size) & (i <= vtm.size)):
lg1 = (TMf == vtm[i]) & (HSf == vhs[k])
lg2 = sum(lg1)
if lg2>=1:
fg1 = text(i,k, str(lg2),horizontalalignment='center', verticalalignment='center',fontsize=6)
mmat[k,i] = lg2
Я думаю, что у меня был первый самый полный ответ, было то, что я представил то, что вы искали, или вы хотите, чтобы нулевой счет? –