小编Nic*_*s H的帖子

如何根据data.frame中的两列将data.frame转换为矩阵

我有一个数据框看起来像

    userId  movieId rating
0   12882   1      4.0
1   12882   32     3.5
2   12882   47     5.0
3   12882   50     5.0
4   12882   110    4.5
Run Code Online (Sandbox Code Playgroud)

但我想将其转换为一个矩阵,其中行名是 userId,列名是 movieId,值是评级。

         1    32      47
12882   4.0   3.5     5.0

Run Code Online (Sandbox Code Playgroud)

我尝试过使用 groupby,但之后我不知道如何转换它。

test = Ratings[['userId','movieId','rating']]

test_group = test.groupby(['userId','movieId'],as_index=False,sort=False)


Run Code Online (Sandbox Code Playgroud)

python-3.x pandas pandas-groupby

6
推荐指数
1
解决办法
1688
查看次数

Numpy 在所有元素之间做乘积,然后插入一个三角形的二维数组

假设我们在下面有一个一维数组

arr = np.array([a,b,c])
Run Code Online (Sandbox Code Playgroud)

我需要做的第一件事是制作所有元素的产品,即

[ab,ac,bc]
Run Code Online (Sandbox Code Playgroud)

然后用这个元素构造一个二维三角形数组

[
[a,ab,ac],
[0,b,bc],
[0,0,c]
]

Run Code Online (Sandbox Code Playgroud)

arrays numpy python-3.x numpy-einsum numpy-ndarray

5
推荐指数
1
解决办法
114
查看次数

C++:删除由 new 创建的指针时的内存问题

我对以下代码有点困惑

int main()
{
    int* a = new int{12};
    int* b = new int;

    b = a;
    delete a;

    delete b;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该代码返回一个错误

a.out(27538,0x10ade7e00) malloc: *** error for object 0x7f8c18504160: pointer being freed was not allocated
a.out(27538,0x10ade7e00) malloc: *** set a breakpoint in malloc_error_break to debug
zsh: abort      ./a.out
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我删除 a 时,它会自动删除 b 吗?这里的机制是什么,我有点迷路了。

c++ pointers memory-management delete-operator

0
推荐指数
1
解决办法
139
查看次数