比较两个n x m阵列之间的条目

时间:2018-02-26 14:49:28

标签: python arrays multidimensional-array conditional conditional-statements

我是Python的新手,我对各种功能的了解非常有限。

我的目的是将nxm数组中的每个条目与另一个nxm数组中的条目进行比较,对于所有整数n,m> 1。 我希望Python能够返回另一个nxm布尔值数组。

想法:

  

Python中数组中的条目由array[i][j]表示,对于n中的所有i和m中的j。

分别在n和m中的所有值上运行i和j。然后将array_1 [i] [j]与array_2 [i] [j]进行比较。如果array_1 [i] [j] == array_2 [i] [j]或array_1 [i] [j]!= array_2 [i] [j],对于n和m中的某些i和j,则返回& #34; True"否则," False。

然后将结果boolean输入空数组array_3。

import numpy

array_3 = []

array_1 = [['Roy',80,75,85,90,95],
 ['John',75,80,75,85,100],
 ['Dave',80,80,80,90,95]]

array_2 = [['Roy',80,75,75,80],
 ['John',75,60,75,75,90],
 ['Dave',50,80,70,90,85]]


print(type(array_1))
print(type(array_2))
print(type(array_3))

for array_1[i][j] in array_1:
    if array_1[i][j] == array_2[i][j]:

从这里开始,我无法继续前进。 任何 HINTS 表示赞赏。 除非至少在发布后24小时内没有解决方案

编辑:

import numpy

array_1 = numpy.array([['Roy',80,75,85,90,95],
 ['John',75,80,75,85,100],
 ['Dave',80,80,80,90,95]])

array_2 = numpy.array([['Roy',80,75,75,80],
 ['John',75,60,75,75,90],
 ['Dave',50,80,70,90,85]])

arrayssize = [array_1.shape, array_2.shape]
print(size)

for x in range(3):
    for y in range(5): 
        array_3 = [True if array_1[x][y] == array_2[x][y] else False] 

1 个答案:

答案 0 :(得分:1)

您应该首先将第3个矩阵初始化为相关大小。 下面是一个使用False值初始化大小为n的数组的示例:

activity = pd.read_excel('data/Activity-Patterns-2.xlsx')
activity = activity.join(activity['Activity Sequence'].str.split('---->', expand=True))
activity = activity[['Station1', 'Station2', 'Station3', 'Repetition']]

Station1    Station2    Station3    Repetition
0   Singapore Changi Airport (SIN)  Terminal 1  Universal Studios Singapore 52
1   Gardens by the Bay  Flower Dome Cloud Forest    52
2   Marina Bay Sands    Singapore Changi Airport (SIN)  Gardens by the Bay  52
3   Singapore   Singapore Changi Airport (SIN)  Gardens by the Bay  51
4   Universal Studios Singapore Singapore Changi Airport (SIN)  Marina Bay Sands    51

dataset = activity[['Station1', 'Station2', 'Station3']]
## Convert the dataset to a numpy array (list of lists of travel records)
dataset = np.array(dataset)
from mlxtend.preprocessing import OnehotTransactions

oht = OnehotTransactions()
oht_ary = oht.fit(dataset).transform(dataset)
df = pd.DataFrame(oht_ary, columns=oht.columns_)
from mlxtend.frequent_patterns import apriori, association_rules

frequent_itemsets_apriori = apriori(df, min_support=0.0002, use_colnames=True, max_len = 5)

现在你应该能够初始化你的array_3,但要记住你有一个矩阵,而不是一个数组。

然后你可以使用True或False填充矩阵的正确索引,具体取决于你的" if"结果:

array_3 = [False for i in range(n)]