亚马逊类目数据分析

本文介绍了一种使用Python和pandas库从MongoDB数据库中读取亚马逊Canada商品数据的方法,并展示了如何处理和转换数据,包括读取关键词下流量ASIN的详细信息,处理链接ID中的NaN值,以及将链接ID中的列表展开为多行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、读取关键词下流量ASIN的详细信息,
https://zhuanlan.zhihu.com/p/48854436 大佬的pandas详解

import numpy as np
import pandas as pd
from numpy import nan as NA
import re
import pymongo
conn = pymongo.MongoClient(host='127.0.0.1', port=27017)
db = conn.amazon_Canada
db_table = db.amazon_Canada_goods

#数据库的链接
res=[]
for search in db_table.find({},{'_id':0,'img':0}): #不要图片
    # print(search)
    res.append(search)

df1=pd.DataFrame(res)
def get_kinds_id(x):
    if len(x) > 0:
        link_list = []
        for link in x:
            str_index = link.index('/ref')
            cut_str = link[:str_index]  # 字符串截取
            each_link_1 = 'https://www.amazon.ca' + cut_str + '/?&pg=1'  # 第一页
            link_list.append(each_link_1)
        return link_list
    else:
        return NA


df1['link_id']=df1.ranking_href.apply(get_kinds_id) #返回的还是一哥列表

在这里插入图片描述
2、读取第6行数据的信息,发现link-id有nan,
在这里插入图片描述
3、查看link_id中的nan的个数
在这里插入图片描述
4.将link_id中的nan删除,将link_id中的列表展开为多行。
找到nan的索引。。
在这里插入图片描述
将这些索引行,进行删除。
在这里插入图片描述

df3= pd.DataFrame([(d,tup.ASIN,tup.commodity_item,tup.comments,tup.brandName, tup.ranking_href,tup.ranking,tup.DATE,tup.star_level) for tup in df1.itertuples() for d in tup.link_id])

df3.columns = ['link_id', 'ASIN', 'commodity_item', 'comments', 'brandName','ranking_href','ranking','DATE','star_level']
df3

将link_id中的列表进行展开成为多行。
在这里插入图片描述
5.读取另外一张表的关于类目的信息
在这里插入图片描述
6、将两张表安装类目的链接进行合并。以相同的列的内容进行拼接。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_43351935

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值