繁体   English   中英

将数据框转换为numpy矩阵

[英]Convert dataframe to a numpy matrix

我有形式的数据框

user_id  item_id  rating
1          abc       5
1          abcd      3
2          abc       3
2          fgh       5

我想将其转换为诸如

# abc  abcd  fgh
[[5,    3,    0]  # user_id 1
[3,    0,    5]] # user_id 2

有人可以帮忙吗?

您可以将pivotfillna一起使用, fillna转换为int ,最后按values转换为数组:

arr = df.pivot('user_id', 'item_id', 'rating').fillna(0).astype(int).values
print (arr)
[[5 3 0]
 [3 0 5]]

与另一种溶液set_indexunstackvalues

arr = df.set_index(['user_id','item_id']).unstack(fill_value=0).values
print (arr)
[[5 3 0]
 [3 0 5]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM