#python #pandas
Вопрос:
У меня есть такой фрейм данных (логические значения)
a b c d count 1 0 1 0 196 0 1 0 1 110 0 1 0 0 17 0 0 1 0 10 0 0 0 0 9
Как вы можете, кто-то может быть a и c // или b и d // или только c Я хочу построить кадр данных с квадратной матрицей, где
a b a 0 0 b 0 17 c 196 10 d 0 110
Могу я получить что-нибудь подобное? Я пытался
result = df.merge(df, on=['ID'] count = pd.crosstab(df[columns_x],df[columns_y])
но это не дало того, чего я хотел
Обратите внимание, что основной фрейм данных выглядит следующим образом:
a b c d Yes No Yes No No Yes No Yes No Yes No No No No Yes No No No No No
Ответ №1:
Я получил ответ, просто создав точечный продукт.
df_transpose = df.transpose() count = df_transpose.dot(df) gt; a b c d a 222 5 8 1 b 5 154 14 22 c 8 14 34 6 d 1 22 6 29