穆穆青风至 2022-09-15 10:56 采纳率: 97.4%
浏览 30
已结题

pandas 中zip的使用

最后一行代码啥意思,zip里面,users_ratings.index不是就一维吗,后面np.random.rand(len(users_ratings),10).astype(np.float32) 应该是二维,调用zip发生了啥,然后外面再套一层就是把这个转换为字典是吧?主要是调用zip时发生了啥,我以前用zip函数都是同样的维度

dtype=[('userId',np.int32),('movieId',np.int32),('rating',np.float32)]
dataset=pd.read_csv(DATA_PATH,usecols=range(3),dtype=dtype) # 读取csv文件
users_ratings=dataset.groupby('userId').agg([list])
P = dict(zip(users_ratings.index,np.random.rand(len(users_ratings),10).astype(np.float32)
        ))

print(users_ratings),对于users_ratings输出如下

img

csv文件数据如下

img

  • 写回答

1条回答 默认 最新

  • Elwin Wong 2022-09-21 00:57
    关注

    其实是同样的原理,zip会把可迭代对象对应位置的元素组合成一个元组,你这里的zip里面第二个参数虽然是二维的,但也可以看作是一维数组的数组,每个元素是一个一维数组,这样子应该就好理解了吧。zip把第一个可迭代对象的值和第二个可迭代对象对应位置的一维数组组合成元组,结果是一个元组列表,再传递给dict,生成一个字典,字典的key为元组第一个元素,其value为相应元组的第二个元素

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月11日
  • 修改了问题 9月15日
  • 创建了问题 9月15日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部