【发布时间】:2021-09-08 20:51:07
【问题描述】:
我将三个拼图块定义为多个 7x7 数组,方式如下:
R3LRU = pd.DataFrame([
[1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1]
])
我尝试通过以下规则加入它们:1111111 可以与 1000001 加入,1000001 可以与 1000001 加入,但 1111111 不能与 1111111 加入。更好的说明如下:
我尝试过使用pd.concat 函数,但它只是将它们粘合在一起而不是侧面连接,如下所示:
或者,就代码输出而言,像这样:
0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6
0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0
2 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0
3 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0
4 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0
5 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0
6 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
我想我想按第 6 列和第 0 列或第 6 行和第 0 行加入
我如何定义“连接”边,以便片段通过建议的规则连接?
【问题讨论】:
-
不清楚你的意思。阻止加入是什么样的?结果输出是什么样的?作品是如何收到的(它们在开始时都是已知的还是以某种方式生成的)?您是否希望生成所有有效的联接?等等等等。
-
我认为人们想出答案的问题在于您没有明确定义“加入”的含义。您可能想解释连接的性质(两个 7x7 数组的连接产生一个 13x7 数组,解释连接时消除一列等,并解释水平连接 3 时的预期结果)
标签: python pandas matrix concatenation puzzle