在熊猫矩阵[python]中添加值0并填充缺失的列

阿尔基斯·高(Alkis Ko)

我有一个形式的矩阵:

movie_id   1     2     3     ...   1494    1497   1500
user_id                                                               
1600       1.0   0.0   1.0   ...   0.0     0.0    1.0
1601       1.0   0.0   0.0   ...   1.0     0.0    0.0
1602       0.0   0.0   0.0   ...   0.0     1.0    1.0
1603       0.0   0.0   1.0   ...   0.0     0.0    0.0
1604       1.0   0.0   0.0   ...   1.0     0.0    0.0
.          ...
.
.

如您所见,即使我的数据集中的电影是1500个,也没有记录一些电影,这是由于我的数据已经过预处理的原因。

我想要的是添加并填充所有未记录的列(movie_ids),其值为0(我不知道尚未准确记录哪些movie_ids)。因此,例如,我想要一个新的形式的矩阵:

movie_id   1     2     3     ...   1494    1495   1496 1497 1498 1499 1500
user_id                                                               
1600       1.0   0.0   1.0   ...   0.0     0.0    0.0  0.0  0.0  0.0  1.0
1601       1.0   0.0   0.0   ...   1.0     0.0    0.0  0.0  0.0  0.0  0.0 
1602       0.0   0.0   0.0   ...   0.0     0.0    0.0  1.0  0.0  0.0  1.0
1603       0.0   0.0   1.0   ...   0.0     0.0    0.0  0.0  0.0  0.0  0.0
1604       1.0   0.0   0.0   ...   1.0     0.0    0.0  0.0  0.0  0.0  0.0
.          ...
.
.
Shubham Sharma

使用DataFrame.reindex沿着axis=1fill_value=0符合数据框列到一个新的索引范围:

df = df.reindex(range(df.columns.min(), df.columns.max() + 1), axis=1, fill_value=0)

结果:

movie_id     1     2     3      1498  1499  1500
user_id                                     
1600       1.0   0.0   1.0         0     0   1.0
1601       1.0   0.0   0.0         0     0   0.0
1602       0.0   0.0   0.0 ...     0     0   1.0
1603       0.0   0.0   1.0 ...     0     0   0.0
1604       1.0   0.0   0.0         0     0   0.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章