gpt4 book ai didi

python - 两个矩阵的元素之间的组合

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:15 24 4
gpt4 key购买 nike

我有一个问题,我不知道如何描述它,所以你明白。我要举个例子。假设我们在 python 中有这个数组 (B):

[[ 1  1]
[ 7 11]
[1 20]
[20 1]
[26 11]
[31 11]]

第一列代表用户。第二个标签。现在,我想创建一个矩阵,该矩阵将具有“1s”,其中边存在,否则为“0s”。我们分别有 5 和 4 个不同的用户和标签,这是一个 6*5 矩阵..如果我写:

zero = np.zeros((6,5,).astype(int) #it needs one more row and column
for line in B:
if line[2]:
zero[line[0],line[1]] = 1

错误是:

   zero[line[0],line[1]] = 1

IndexError:索引 7 超出了大小为 7 的轴 0 的范围

好的,我怎样才能在两个矩阵之间进行组合,因为我希望元素“31”在第五行,元素“11”在第四列。

最佳答案

使用 Pandas 和numpy

>>>import numpy as np
>>>import pandas as pd
>>> tagsArray = np.unique([1,11,20,1,11,11])
>>> userArray = np.unique([1,7,20,26,31])
>>> aa = [[ 1,1],[ 7, 11],[1, 20],[20, 1],[26, 11],[31, 11]]
>>> df = pd.DataFrame(index=userArray,columns=tagsArray)
>>> for s in aa:
... df.loc[s[0],s[1]] = 1
...
>>> df.fillna(0,inplace=True)
>>> df
1 11 20
1 1 NaN 1
7 NaN 1 NaN
20 1 NaN NaN
26 NaN 1 NaN
31 NaN 1 NaN

关于python - 两个矩阵的元素之间的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41284757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com