1

我目前有两个用于处理钙成像数据的独立模式,其中我使用了两种不同的预处理方法。我要做的最大目标是使用来自 1 个模式的源作为参考,并在第二个模式中提取相应的源。我已经完成了源匹配,以便我知道 schema1 中的每个神经元在 schema2 中对应的神经元是什么。

在 schema1 中的表中,每个神经元都有一个称为整数主键neurID和一个外键 ( schema2ID),该外键与 schema2 中该神经元的相应主键。我遇到的问题是在schema2 中,每个神经元的主键称为= 15, = 1)。neurIDneurIDschema2IDneurIDschema1ID

理想情况下,我想要做的是,一旦我拥有来自 1 个模式的所有神经元,我在 schema2 中有它们的相应 ID,我将用neurID外键替换它们的主键,schema2ID以便我现在可以使用它来获取相应的神经元在 schema2 中(因为schema2ID在 schema1 中与neurIDschema2 主键相同)。有没有办法以这种方式重命名主键?或者我可以通过创建新表来使用其他一些 hacky 方法吗?

(请注意,由于我在每个模式中还有另一个主键“targID”,因此这一切都变得更加复杂,索引在不同模式之间也并不意味着同样的事情。)

我真的很感激任何提示,因为我很困惑。也很高兴通过 DM 等更直接地显示代码。谢谢!

4

1 回答 1

3

也许使用 DataJoint 的投影运算符 ( .proj()) 会对您的情况有所帮助。该.proj()操作可用于重命名属性,参见https://docs.datajoint.io/python/queries/08-Proj.html?highlight=project

以你上面的例子,你可以试试这个:

schema1_table * schema2_table.proj(schema2ID='neurID')

或者相反也可以:

schema1_table.proj(schema1ID='neurID') * schema2_table
于 2021-04-26T20:48:02.183 回答