我有以下数据集:
user artist sex country
0 1 red hot chili peppers f Germany
1 1 the black dahlia murder f Germany
2 1 goldfrapp f Germany
3 2 dropkick murphys f Germany
4 2 le tigre f Germany
.
.
289950 19718 bob dylan f Canada
289951 19718 pixies f Canada
289952 19718 the clash f Canada
我想使用数据框创建一个 bool 指标矩阵,其中一行对应每个用户,一列对应每个艺术家。对于每一行(用户),如果有艺术家返回 1,否则返回 0。
顺便提一下,有 1004 位独特的艺术家和 15000 位独特的用户——这是一个庞大的数据集。
我使用以下方法创建了一个空矩阵:
pd.DataFrame(index=user, columns=artist)
我无法正确填充数据框。
pandas 中有一个方法叫做notnull
假设您的数据框名为 df,您应该使用:
df['has_artist'] = df['artist'].notnull()
这将在您的数据框中添加一列名为 has_artist
的 bool 值如果你想让 0 和 1 代替:
df['has_artist'] = df['artist'].notnull().astype(int)
您也可以将其存储在不同的变量中而不更改数据框。
我是一名优秀的程序员,十分优秀!