我想从pandas数据框中找到一些与数组相同的行的索引。
我的数据框如下所示
# app/operations/txn.rb
def create_txn
@transaction = Transaction.new(transaction_params)
@transaction.save
end
def transaction_params
{
.
.
.
amount: dest_amount,
.
.
.
}
end
def dest_amount
#logic
end
我要输入的输入值就像
df = pd.DataFrame({'a':[True, False, True, True],'b':[False, True, True, True],'c':[True, True, False, True],'d':[True, False, True, False]})
,我想得到row = [True, True, False, True]
。
我为此尝试过一些
[2]
它可以工作,但是对于我的工作来说非常慢。有什么方法吗?
答案 0 :(得分:4)
df[df.eq(row).all(1)]
df = pd.DataFrame({'a':[True, False, True, True],'b':[False, True, True, True],'c':[True, True, False, True],'d':[True, False, True, False]})
row = [True, True, False, True]
df[df.eq(row).all(1)]
[出]
a b c d
2 True True False True
如果需要,在index.to_list()
上链接以获取索引列表:
df[df.eq(row).all(1)].index.to_list()
[2]