让我们说我们有两个numpy数组作为a = [4, 5, 8, 10, 4, 8, 4]
和b = [1, 0, 1, 1, 1, 0, 0]
。
我们必须找到第一个数组元素为4而第二个数组元素为1的行数。
4,1
5,0
8,1
10,1
4,1
8,0
4,0 >
在此为2,因为有两行,其中第一个元素为4,第二个元素为1。
答案 0 :(得分:3)
您应该使用类似
np.sum((a == 4) & (b == 1))
答案 1 :(得分:1)
您可以尝试python的基础知识:-
import numpy as np
a = np.array([4, 5, 8, 10, 4, 8, 4])
b = np.array([1, 0, 1, 1, 1, 0, 0])
new_pair = []
for a_value, b_value in zip(a,b):
if a_value==4 and b_value==1:
new_pair.append([a_value,b_value])
print( len(new_pair) )
希望对您有帮助。
答案 2 :(得分:0)
这就像将您的列表过滤到同一列表中的配对中。
您是否在熊猫中尝试过isin()
方法?
import pandas as pd
df = pd.DataFrame({'List_1': a, 'List_2':b})
df_list = []
for i in range(0,len(a)):
df = df.loc[df['List_1'].isin([a[i]])]
df = df.loc[df['List_2'].isin([b[i]])]
df_list.append(df)
#your df_list will now have the values as you need
希望这会有所帮助:))