我是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]
答案 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)]