gpt4 book ai didi

python - 如何计算一对特定值在数组中重复了多少次?

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:21 25 4
gpt4 key购买 nike

我有两个相同大小的矢量,一个用于波高,一个用于周期,分别对应于进行测量的同一时间点。我想知道这两个特定数据重复了多少次,例如:

Hs = [0.5 1.0 2.3 0.5 0.5]

TM = [2.0 2.5 2.0 2.0 3.0]

所以你可以看到:

Hs Tm 计数

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

最佳答案

我建议使用 Counter 来计算你的对数。

from collections import Counter

Hs = [0.5, 1.0, 2.3, 0.5, 0.5]
Tm = [2.0, 2.5, 2.0, 2.0, 3.0]

occurrences = Counter(zip(Hs, Tm))
for h in sorted(set(Hs)):
for t in sorted(set(Tm)):
print h, t, occurrences[(h,t)]

结果:

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
1.0 3.0 0
2.3 2.0 1
2.3 2.5 0
2.3 3.0 0

关于python - 如何计算一对特定值在数组中重复了多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21890792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com