У меня есть таблица pandas ниже, которую можно скопировать / вставить и прочитать с помощью pd.read_clipboard (). Мне нужно взять фрагмент из 2 последовательных значений и 3 последовательных значений. Это список из двух пар, из трех пар, как вы можете видеть по столбцу y1. Итак, 0,1 - пара, затем 2,3,4 - пара, а затем продолжается для каждой 5 группы. Мне нужно нарезать весь список на эти пары. Это группа из 5, где первые 2 - это пара, а следующие три - это пара. Таким образом, 14,1 - это пара, а 4,10,8 - это пара, и это то же самое для каждых 5 пар.
what W1 W2 W8 W9 W0 y Y x y4 y1
0 14 4 14 12 14 2 15 4 7 1 1
1 1 11 1 3 1 13 0 14 8 10 1
2 4 14 4 6 4 8 5 5 13 13 1
3 10 0 10 8 10 6 11 9 3 8 1
4 8 2 8 10 8 4 9 12 1 8 1
5 15 15 13 11 15 0 4 15 4 11 11
6 11 11 9 15 11 4 0 9 0 2 11
7 9 9 11 13 9 6 2 0 2 10 11
8 2 2 0 6 2 13 9 9 9 0 11
9 0 0 2 4 0 15 11 15 11 10 11
10 4 6 4 13 4 12 13 6 7 9 9
11 9 11 9 0 9 1 0 1 10 2 9
12 3 1 3 10 3 11 10 10 0 7 9
13 2 0 2 11 2 10 11 3 1 10 9
14 10 8 10 3 10 2 3 12 9 14 9
15 13 13 5 14 13 2 6 13 2 11 11
16 11 11 3 8 11 4 0 4 4 8 11
17 4 4 12 7 4 11 15 7 11 4 11
18 8 8 0 11 8 7 3 7 7 4 11
19 4 4 12 7 4 11 15 9 11 7 11
Я пробовал это, что дает правильные результаты, но это не повторяю.
In [1540]: df['what'][:].to_numpy()[0:2:]
Out[1540]: array([14, 1], dtype=int8)
In [1538]: df['what'][2:].to_numpy()[0:3:]
Out[1538]: array([ 4, 10, 8], dtype=int8)
, это именно то, что я хочу, но он не продолжает срезать до конца списка, и я хочу, чтобы он продолжил срез, чтобы я получил все пары, как показано ниже :
array([ 4, 10, 8, 9, 2, 0, 3, 2, 10, 4, 8, 4] and the flip side array([14, 1, 15, 11, 4, 9, 13, 11]
Как изменить код или использовать pandas .loc / ilo c или numpy, чтобы продолжить нарезку, как мои примеры для всего набора?
Причина в том, что мне нужно это потому, что мне нужно XOR первых двух пар по номеру, а второй три пары по отдельному номеру. Я хотел бы XOR для первых двух пар и установить значение в другом столбце, а затем XOR для вторых трех пар и установить их значения в другом столбце в правильном месте индекса.
Заранее спасибо.