Группировка данных в пандах для нечеткой логической группы отношений - PullRequest
0 голосов
/ 18 октября 2019

Прошу прощения за мой плохой английский.

Итак, у меня есть пандас-фрейм, подобный этому:

    Present State   Next State
0   A13             A13
1   A13             A14
2   A14             A12
3   A12             A14
4   A14             A14
5   A14             A11
6   A11             A11
7   A11             A12
8   A12             A13
9   A13             A12
10  A12             A14
... ...             ...
121 A16             A21
122 A21             A17
123 A17             A16
124 A16             A19
125 A19             A24
126 A24             A24
127 A24             A27

, и я хочу сгруппировать его на основе моего интервала данных, и я хочупосчитайте, сколько переходов сделано из состояния a в состояние b.

Я написал код, и он не отображал никаких ошибок.

flrg = pd.DataFrame(columns=['Present State', 'Next State'])
states = intervals["Ai"]
firststate = []
secstate = []
counter = 0
for i in states:
    for index, row in flr.iterrows():
        temp = {}
        if(i == row["Present State"]):
            if row["Next State"] in temp:
                temp[row["Next State"]] += 1
            else:
                temp[row["Next State"]] = 1
    firststate.append(i)
    secstate.append(temp)
flrg["Present State"] = firststate
flrg["Next State"] = secstate

flrg  

, но результаты не верны. Он только перехватил один переход.

    Present State   Next State
0   A1              {}
1   A2              {}
2   A3              {}
3   A4              {}
4   A5              {}
5   A6              {}
6   A7              {}
7   A8              {}
8   A9              {}
9   A10             {}
10  A11             {}
11  A12             {}
12  A13             {}
13  A14             {}
14  A15             {}
15  A16             {}
16  A17             {}
17  A18             {}
18  A19             {}
19  A20             {}
20  A21             {}
21  A22             {}
22  A23             {}
23  A24             {'A27': 1}
24  A25             {}
25  A26             {}
26  A27             {}

что мне сделать, чтобы это исправить? Я очень ценю вашу помощь.

вывод должен быть таким:

    Present State   Next State
0   A1              {'A4': 1}
1   A2              {}
2   A3              {'A8': 1}
3   A4              {'A1': 1,'A3': 1,'A4': 1,'A5': 1,'A8': 1}
4   A5              {'A4': 1,'A5': 1,'A6': 1,'A8': 2,'A10': 1}
..  ...             ...
22  A23             {}
23  A24             {'A24': 1,'A27': 1}
24  A25             {}
25  A26             {}
26  A27             {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...