Python 内部连接两个给定索引列表
在给定一组索引的情况下,将两个列表进行内部连接的最快方法是什么 例: 如果索引0和1匹配,则加入 结果:Python 内部连接两个给定索引列表,python,list,inner-join,Python,List,Inner Join,在给定一组索引的情况下,将两个列表进行内部连接的最快方法是什么 例: 如果索引0和1匹配,则加入 结果: [[1,2,3,4], [1,3,3,4], [1,3,3,5], [1,2,3,4]] 实现这一点的简单方法似乎太慢了,最快的方法是什么?好吧,您可以使用pandas: >>> import pandas as pd >>> d0 = pd.DataFrame([[1,2,3],[1,3,3],[1,2,3]]) >>> d1 = p
[[1,2,3,4],
[1,3,3,4],
[1,3,3,5],
[1,2,3,4]]
实现这一点的简单方法似乎太慢了,最快的方法是什么?好吧,您可以使用
pandas
:
>>> import pandas as pd
>>> d0 = pd.DataFrame([[1,2,3],[1,3,3],[1,2,3]])
>>> d1 = pd.DataFrame([[1,2,4],[1,3,4],[1,3,5]])
>>> pd.merge(d0,d1, on=[0,1])
0 1 2_x 2_y
0 1 2 3 4
1 1 2 3 4
2 1 3 3 4
3 1 3 3 5
这项工作应该做得不错,因为这是一个专门为此设计的科学图书馆。但由于我不知道其来源,我无法说出其复杂性
>>> def test():
... pd.merge(d0,d1, on=[0,1])
>>> timeit.timeit(test, number=1000)
1.9183850288391113
在我的电脑上
>>> def test():
... pd.merge(d0,d1, on=[0,1])
>>> timeit.timeit(test, number=1000)
1.9183850288391113