Я хочу сравнить элементы в двух series
.
0 1
1 3
2 4
3 2
4 4
Name: s1, dtype: int32
0 3
1 3
2 0
3 5
4 1
Name: s2, dtype: int64
. Чтобы легко сравнить series
, я использовал itertools.combinations
:
x = combinations(s1, 2)
y = combinations(s2, 2)
ирезультат x :
(1, 3)
(1, 4)
(1, 2)
(1, 4)
(3, 4)
(3, 2)
(3, 4)
(4, 2)
(4, 4)
(2, 4)
y :
(3, 3)
(3, 0)
(3, 5)
(3, 1)
(3, 0)
(3, 5)
(3, 1)
(0, 5)
(0, 1)
(5, 1)
Метод сравнения частично аналогичен тау-расстоянию Кендалла.Пары в x (x1, x2)
, а пары в y (y1, y2)
.Если x1 > x2
и y1 > y2
или x1 < x2
и y1 < y2
, то score = score+1
;в противном случае score = score
.Но я до сих пор не могу найти способ сравнить элементы внутри пар.
Я получаю m1
, m2
и m1|m2
:
м1:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
dtype: bool
м2:
0 False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
dtype: bool
м1 | м2:
0 False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
dtype: bool
Я получил тот же результат, что и ваш.Я понятия не имею, почему он складывается так много раз.
И m1, и m2 содержат все ложные значения по умолчанию.И это, безусловно, так, и в настоящее время результат идеально подходит.Но я хочу, чтобы score
добавлял 1 каждый раз (m1 | m2) == true
.
score
0
0
1
0
0
0
0
0
0
0
Идеальный результат для оценки, как указано выше.