对亚马逊数据集中用户ID和物品ID重新编号

2022.12.12 更新一种最快的方法

import pandas as  pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
# 将数据读取为dataframe
data = pd.read_csv('Digital_Music.csv', names=['uid','iid','rating','time'])
encoder = LabelEncoder()
encoder.fit(["uid", "iid", "rating", "time"])
# 就可实现对列的重新编码

——————————————————————————————————
在学习中我们常常需要使用亚马逊数据集,其数据集结构如下所示:

"reviewerID": "A2SUAM1J3GNN3B","asin": "0000013714","reviewerName": "J. McDonald","vote": 5,"style": {"Format:": "Hardcover"},"reviewText": "I bought this for my husband who plays the piano.  He is having a wonderful time playing these old hymns.  The music  is at times hard to read because we think the book was published for singing from more than playing from.  Great purchase though!","overall": 5.0,"summary": "Heavenly Highway Hymns","unixReviewTime": 1252800000,"reviewTime": "09 13, 2009"
}

但是其用户ID和物品ID的形式并不是我们想要的,因此需要对其ID进行重新编码

0001388703,A1ZCPG3D3HGRSS,5.0,1387670400
0001388703,AC2PL52NKPL29,5.0,1378857600
0001388703,A1SUZXBDZSDQ3A,5.0,1362182400
0001388703,A3A0W7FZXM0IZW,5.0,1354406400
0001388703,A12R54MKO17TW0,5.0,1325894400
0001388703,A25ZT87OMIPLNX,5.0,1247011200
0001388703,A3NVGWKHLULDHR,1.0,1242259200
0001388703,AT7OB43GHKIUA,5.0,1209859200
0001388703,A1H3X1TW6Y7HD8,5.0,1442534400
0001388703,AZ3T21W6CW0MW,1.0,1431648000
0001388703,A2W6V65OFOZ12M,5.0,1426204800
0001388703,A1DOF5GHOWGMW6,5.0,1415059200
0001388703,A4V08BR7LZ6D9,5.0,1413072000
0001388703,AJO3UG6FR5C7R,5.0,1411430400

用户ID和物品ID编码代码如下所示:

import pandas as  pd
import numpy as npdef data_recode():data = pd.read_csv('Digital_Music.csv', names=['iid','uid','rating','time'])#print(data.head(5))df = pd.DataFrame(data = data)df = df[['uid','iid','rating','time']]  #将数据读为dataframecustomers = df['uid'].value_counts() #第一列为所有用户个数(840372) 第二列为统计每个用户交互的次数products  =  df['iid'].value_counts()#print(customers,products)#print(customers.index)customers = customers[customers >= 5]#products = products[products >= 10]reduced_df = df.merge(pd.DataFrame({'uid': customers.index})).\merge(pd.DataFrame({'iid': products.index}))customer_index = pd.DataFrame({'uid': customers.index, 'userID': np.arange(customers.shape[0])})product_index = pd.DataFrame({'iid': products.index,'itemID': np.arange(products.shape[0])})reduced_df = reduced_df.merge(customer_index).merge(product_index)reduced_df = reduced_df[['userID','itemID','rating','time']]print(reduced_df)reduced_df.to_csv('Digital_Music.dat',header=0,index=0,sep='\t')
#对数据顺序进行if __name__ == '__main__':data_recode()

处理后

        userID  itemID  rating        time
0          747    6742     5.0  1325894400
1        31942    6742     5.0  1413072000
2        45713    6742     5.0  1411430400
3        14752    6742     5.0  1397520000
4          747    3135     5.0  1326758400
...        ...     ...     ...         ...
511162   12284  171649     5.0  1495324800
511163   12284  317396     5.0  1495324800
511164   12284  369414     5.0  1495324800
511165   12284  126294     5.0  1495324800
511166   12284  121341     5.0  1495324800

参考连接
https://aws.amazon.com/cn/blogs/china/using-amazon-sagemaker-to-build-a-recommendation-system-based-on-gluon/

对亚马逊数据中用户ID和物品ID重新编号相关推荐

  1. “炸毁 70% 的互联网!”德州一男子欲袭击亚马逊数据中心被捕

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 提问:如果炸掉一个亚马逊的数据中心,将影响百分之多少的互联网呢? 一名来自德克萨斯州的 28 岁男子--Seth Aaron Pendl ...

  2. 通过亚马逊云新用户入门学习计划快速上手云上无服务器化的MySQL数据库

    前言 之前一直使用云服务器一直都是使用实例来使用MySQL数据库,因为刚好又能学习Linux的知识,但是通过购买实例服务来充当数据库,不仅资源不能得到充分应用,也会有操作麻烦容易出这样那样的问题. 今 ...

  3. 亚马逊html添加特殊符号,亚马逊SES中的特殊字符

    我正在使用适用于PHP的AWS SDK(https://github.com/aws/aws-sdk-php)使用Amazon SES发送电子邮件. 下面的代码:亚马逊SES中的特殊字符 requir ...

  4. 爬去图片插件_学不会你打我,一个插件爬取亚马逊数据!

    这是一个简单的插件使用教程.从入门到精通大概需要5分钟. 很多亚马逊运营小伙伴在运营过程中需要对市场进行分析,包含但不限于: 竞争对手review,分析消费者痛点,分析好评差评点. QA,分析消费者心 ...

  5. 亚马逊数据技能,选择新品的8大核心原则

    据统计,2017年亚马逊每天都有2997个卖家入驻,每小时有124个. 在激烈竞争的环境下,"选择大于努力",这句话在亚马逊运营工作中同样重要."选品"不好,纵 ...

  6. 关于亚马逊运营中能够及时发现问题的几点建议值得你收藏!

    运营中,当遭遇销量下降.权重下降.关键词排名下降.广告位排名下降时,进行一一核对,凡事有问题就有答案,找出了问题,几乎可以等同于找到了解决方法,我的建议是,作为亚马逊卖家或者运营,你不能被动的遭遇问题 ...

  7. AWS亚马逊主机ec2用户切换root用户

    AWS亚马逊主机切换root用户 使用证书文件登录ec2用户 ssh -i "你的实例密钥如guoye-hongkong.pem" centos@xxxx.compute.amaz ...

  8. 解析亚马逊 SFTP中订单报文 EDI ANSI X12 格式

    ANSI X12是由美国国家标准委员会在1979年创立的认可标准委员会(ASC)X12制定的EDI报文标准,是为了满足商务文档之间的电子数据交换. EDI X12(电子数据交换)是基于ASC X12标 ...

  9. 亚马逊数据 各国亚马逊数据API 管理工具

    什么是 API 管理? 应用程序编程接口管理(简称为"API 管理")由一系列工具和服务组成,使开发人员和公司能够在安全的环境中构建.分析.操作和扩展 API.可以在本地.通过云或 ...

最新文章

  1. gitlab之gitlab-ci和gitlab-runner二
  2. 用python+tornado+mongodb写的一个博客系统
  3. Go中的Map实现机制
  4. h5居中loading_Html5新增标签与样式及让元素水平垂直居中
  5. git:config命令
  6. Collections集合工具类的方法_sort(List,Comparator)
  7. 华工网络计算机电路基础作业,2021年《计算机电路基础》-华工网络教育学院平时作业.doc...
  8. 软件设计和设计的问题
  9. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事
  10. C++ STL之min_element()与max_element()(取容器中的最大最小值)
  11. 文档服务器archive,文档查询服务器,archive server,音标,读音,翻译,英文例句,英语词典...
  12. Javascript第二章中switch结构及与if的区别第二课
  13. biggan:large scale gan training for high fidelity natural image synthesis
  14. wps 字体对系统无效_WPS for Linux提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法...
  15. JAVA:Java Swing 练习题
  16. 展台设计搭建怎么做才能在会展期间引人瞩目
  17. HTML 行间距的设置方法与问题
  18. 帕德逼近matlab算法,帕德逼近matlab
  19. 观察者(observer)模式(一)
  20. MySQL 更改root密码

热门文章

  1. mx linux安装方法,MX Linux 19.1 发布,基于Debian的出色的Linux发行版
  2. 有源rc电压放大器实验报告_什么是有源器件?有源器件和无源器件怎么区分?...
  3. 中国股市浅见.【华少版】
  4. Emoji四字节字符入库时错误的解决方案(Incorrect string value: '\xF0\x9F\x99\x8F' for column 'Reply_Content' at row 1)
  5. 【渝粤题库】陕西师范大学201561 国际私法作业
  6. MCS-51高精度A/D接口电路—ICL7135
  7. NetApp Ontap升级流程及注意事项
  8. 字符串拼接的4种常用方法
  9. 计数器接近开关脉冲计数信号转换远程io采集模块RS-485/232
  10. 模糊控制应用实例——洗衣机的模糊控制详解