首页 > 解决方案 > Python - 如何使用 python 将 n x n 数据转换为矩阵

问题描述

我需要从 n 到 n 个数据制作矩阵(或数组) 我有这样的数据

type a | type b  
   1 | 1  
   1 | 2  
   1 | 3  
   2 | 1  
   2 | 4  
   3 | 1  
   4 | 2

我想做这样的:

a/b | 1  2  3  4  
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ  
 1 | 1  1  1  0  
 2 | 1  0  0  1   
 3 | 1  0  0  0  
 4 | 0  1  0  0  

python库中没有任何东西吗?(熊猫..等)

标签: pythonarraysmatrix

解决方案


这相当简单。您刚刚在 Python 中表示 2-dim 数组的索引的表。为简单起见,您可以使用 NumPy 数组:

import numpy as np


data = np.array([
    [1, 1],
    [1, 2],
    [1, 3],
    [2, 1],
    [2, 4],
    [3, 1],
    [4, 2]
]) - 1  # Index starts at 0
n = 4

matrix = np.zeros((n, n))

#      -a index-  -b index-
matrix[data[:,0], data[:,1]] = 1

推荐阅读