我使用pandas.Series
和MultiIndex
进行双向加权查找。我认为使用MultiIndex也可以很容易地找到给定级别对应的其他级别,但是我找不到一个简单的函数other
,它可以执行以下操作:
>>> index=pandas.MultiIndex.from_tuples(
... [(0, 0),(1,2),(3,4),(5,6),(5,7),(8,0),(9,0)],
... names=["concept", "word"])
>>> other(index, "word", 0)
{0, 8, 9}
>>> other(index, "concept", 3)
{4}
>>> other(index, "word", 6)
{5}
我很乐意指定级别号而不是级别名,并得到任何iterable,不一定是一个集合。我只有一个2级多指标,所以我不关心如何推广到更高级别的多指标,甚至不关心它是否推广。你知道吗
如果这涉及到迭代多索引中的所有条目并比较它们,我会有点不高兴,因为我认为索引有点像多键哈希表。你知道吗
方法1:
您可以使用矢量化方法构建自定义函数,如图所示:
用法:
时间:
方法2:
插入{1}会得到一个对应于arg的整数,如果你想要插入一个位置,那么你可以使用:
演示:
时间:
因此,使用自定义函数而不是使用 给出了二级多索引
DF
的内建方法。你知道吗这个怎么样:
请注意,您可以轻松地将numpy数组转换为集合:
将上述所有内容包装到某个函数
other
中应该不是很困难。你知道吗相关问题 更多 >
编程相关推荐