我有一个数据框看起来像
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) 假设我们在下面有一个一维数组
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) 我对以下代码有点困惑
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 吗?这里的机制是什么,我有点迷路了。