У меня есть список аккордов
['F', 'Em7', 'A7', 'Dm', 'Dm7', 'A#', 'C7', 'C', 'G7', 'A7sus4', 'Gm6', 'Fsus4', etc]
, и я хочу превратить его в матрицу переходов. Что у меня есть:
import pandas as pd
from nltk.util import ngrams
bigram = pd.Series(ngrams(data.split(),2)) ### creating the bigrams of ordered pairs like:
### 0 (F, Em7)
### 1 (Em7, A7)
### 2 (A7, Dm)
probabilities = bigram.value_counts(normalize=True) ### getting probability of each ordered pair
letters = pd.Series(data.split()).unique() ### getting each chord
Я хочу, чтобы матрица была такой:
F Em7 A7 ....
F p(FF) p(FEm7) p(FA7) ....
Em7 p(Em7F) p(Em7Em7) p(Em7A7) ....
A7 p(A7F) p(A7Em7) p(A7A7) ....
.
.
.
, где p(FF)
- это вероятность (F, F)
, которая находится в моем списке вероятностей. Как я могу это сделать? Спасибо !!