我有一个类似于这个的熊猫架:
import pandas as pd
import numpy as np
data = {'Col1' : [4,5,6,7], 'Col2' : [10,20,30,40], 'Col3' : [100,50,-30,-50], 'Col4' : ['AAA', 'BBB', 'AAA', 'CCC']}
df = pd.DataFrame(data=data, index = ['R1','R2','R3','R4'])
Col1 Col2 Col3 Col4
R1 4 10 100 AAA
R2 5 20 50 BBB
R3 6 30 -30 AAA
R4 7 40 -50 CCC
给定一组目标:
^{pr2}${{{cd1}中的元素也将出现在cd1}中。在
我试图找到一个书面的答案,但似乎超出了我的能力。。。有人有什么建议吗?在
顺便说一下,对于这种特殊情况,我可以输入一个目标数组,其元素是数据帧索引名array(['R1', 'R3', 'R5'])
。那样容易些吗?在
编辑1:
非常感谢你的回复。很遗憾,我只能选一个,但似乎每个人都认为@Divakar是最好的。不过,您应该看看piRSquared和MaxU的速度比较,看看所有的可能性
您可以使用^{} -
说明
1)创建与每行相对应的}中的任何元素是否匹配:
^{pr2}$1D
掩码,告诉我们col4's
元素与{2)使用掩码从数据帧中选择有效索引作为最终输出:
这应该做到:
编辑:
我选择了三个选项:从选择的答案中。我的,布鲁斯·普奇和迪瓦卡
分裂的速度要快得多。我会选他的。在
为了完整起见,我添加了两个(
.query()
变体)——我对400K行的计时:Here is a similar comparison for (^{}) and for different ^{}
相关问题 更多 >
编程相关推荐