如何在Python中根据条件生成0和1矩阵

如何在Python中根据条件生成0和1矩阵,python,pandas,numpy,Python,Pandas,Numpy,我正在做一项计划任务。我将问题转化为生成一个8*8的矩阵,其中包含0和1,这样每行和为1,每列和为尽可能接近1 这些柱子实际上是一天分成8块。吵架就是白天。0和1代表两个任务。获取一个单位矩阵,然后简单地对行重新排序 如果矩阵不是NxN,则对其中最大的NxN部分应用相同的规则,然后继续从上到下、从右到左包装标识函数。您可以自由交换NxN部分中的行,以重新分配任务的活动小时数。在本例中,列G和H是异常值……您可以自由地将G和H行1和2中的单元格与任何其他G和H单元格行3、4、5和6交换 在本例中,

我正在做一项计划任务。我将问题转化为生成一个8*8的矩阵,其中包含0和1,这样每行和为1,每列和为尽可能接近1


这些柱子实际上是一天分成8块。吵架就是白天。0和1代表两个任务。

获取一个单位矩阵,然后简单地对行重新排序

如果矩阵不是NxN,则对其中最大的NxN部分应用相同的规则,然后继续从上到下、从右到左包装标识函数。您可以自由交换NxN部分中的行,以重新分配任务的活动小时数。在本例中,列G和H是异常值……您可以自由地将G和H行1和2中的单元格与任何其他G和H单元格行3、4、5和6交换

在本例中,第7行和第8行是异常值。。。您可以自由地将第7列和第8列A和B中的单元格与第7行和第8列C、D、E和F中的任何其他单元格交换


你能提供一个解决方案吗?听起来像是你在制作二进制soduko,如果这是你的意图,你可以在继续添加元素的同时生成一个满足你需要的解决方案。非常非常天才!你知道它是否不是n*n矩阵吗?你仍然会使用一个单位矩阵来覆盖所包含的最大的NxN矩阵。无论剩下的行/列是什么,您都可以从上到下或从左到右“包装”标识矩阵。NxN矩阵外的项目将重叠,但您可以自由交换NxN矩阵内的行以改变分布。