【发布时间】:2021-07-17 02:53:26
【问题描述】:
我有一个由 0 和 1 组成的矩阵,我想以使同一列中值为 1 的行一起出现的方式排列矩阵。
例如,如果我使用 A = np.random.randint(2,size=(100, 1000),dtype=np.int8) 创建一个矩阵
它将生成一个 0 和 1 的随机矩阵,我将进一步减少矩阵中 1 的数量。现在我想重新排列矩阵,这样如果我用黄色显示 1,用紫色显示 0,这就是输出的样子。
想想一个矩阵,其中一行是 person_id,列是一个热编码,其中每一列都代表这个人拥有的东西。所以我想以一种拥有相似物品的人一起出现的方式来安排这个。因此,请安排行和列,以便将其可视化,就像附加的图像一样。
一种解决方案基本上是根据行总和对行顺序进行排序,然后根据列总和对列顺序进行排序,但我正在寻找可以保证这样的正确结果的东西。 旁注,矩阵的大小将高达 200k*300k
【问题讨论】:
标签: python pandas numpy matrix