我是靠谱客的博主 自信茉莉,最近开发中收集的这篇文章主要介绍python怎么样用到电商上去_怎么用python电商文本挖掘?(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

以驱虫市场数据为例,挖掘某店铺新的业务方向和市场增长点。

联系微信sinoleadgolf

一.整体驱虫市场潜力分析

1.导包

import glob

import os

import pandas as pd

import re

import numpy as np

import datetime as dt

from sklearn.linear_model import LinearRegression

import seaborn as sns

from matplotlib import pyplot as plt

import jieba

import jieba.analyse

import imageio

from wordcloud import WordCloud

把可能用到的包都先导入进来,如果事先不知道,也先不用管,后边再补充包进来,几个基础的包 pandas numpy matplotlib,大家开始工作前 也会自己习惯性的导入。不能导入的包在网上查一下 打开 cmd 然后 pip install + …先安装。

os.chdir("D:/data/python")

os.chdir("./驱虫剂市场")

这里把工作路径调整到当前的文件夹。

2.加载数据

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

filenames = glob.glob('*市场近三年交易额.xlsx')

filenames

20200705170019391.png

这段代码将文件夹下,以 市场近三年交易额.xlsx 结尾的文件 的文件名称 都拿到,其中*表示前面的任意所有字符。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

在定义函数 批量导入数据前,先查看 每一个文件名,同时用re正则表达式 提取出市场前面的字符,更改时间戳格式,这三项 后边在定义函数时会用到。

凡是涉及到文本处理通常用到 正则表达式re 常用的两个方法 找search 和 替换sub,re.search(通过什么模式,要找的对象)。 .group()的意思是返回找的内容。在使用正则表达式re前 建议先提前3个小时去官网https://docs.python.org/zh-tw/3.7/library/re.html 熟悉好(官网可切换中文)正则表达式的应用形式很多 不同模式的组合很多 需要在实际使用中去熟练。上图中的43374就是时间戳,下面的语句是按照规则改成通常用的时间格式。接下来定义函数 批量导入数据。

def load_xlsx(filename):

colname = re.search(r'.*(?=市场)',filename).group()

df = pd.read_excel(filename)

if df['时间'].dtypes == 'int64':

df['时间'] = pd.to_datetime(df['时间'],unit='D',origin=pd.Timestamp('1899-12-30'))

df.rename(columns={df.columns[1]:colname},inplace=True)

df = df.set_index('时间')

return df

dfs = [load_xlsx(i) for i in filenames]

dfs

这样所有的文件都读到一张叫 dfs 的大列表中了。下面将这张大表内的各个小表依照时间进行横向合并。

df = pd.concat(dfs,axis=1).reset_index()

df

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

3.数据清洗

查看缺失值占比

df.isnull().mean()

2020070519300553.png

循环预测2018年11月和12月的销售金额

month = df['时间'].dt.month

for i in [11,12]:

# 收取对应月份数据

dm = df[month == i]

# 训练x是年份

xtrain = np.array(dm['时间'].dt.year).reshape(-1,1)

# 测试y是新增加的行,第一列是对应的日期

ytest = [pd.datetime(2018,i,1)]

for j in range(1,len(dm.columns)):

# 训练y是指定的j列

ytrain = np.array(dm.iloc[:,j]).reshape(-1,1)

# 回归建模

lm = LinearRegression().fit(xtrain,ytrain)

# 预测当测试x是2018时的交易金额yhat

yhat = lm.predict(np.array([2018]).reshape(-1,1))

# 对应列的预测值附在新增加的行后

ytest.append(round(yhat[0][0],2))

# 给预测结果赋值对应的列名

newrow = pd.DataFrame([dict(zip(df.columns,ytest))])

# 预测结果行加在数据前

df = newrow.append(df)

这段代码是线性回归建模,根据16、16、17年11月和12月的数据来预测 2018年 这两个月的销售额,用到from sklearn.linear_model import LinearRegression。详细可在网上查找线性回归建模的使用。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

这样就补充了2018年11月和12月的销售数据,就可以以年为维度 看整体2016-2018年三年的行业整体趋势。

上图中的索引乱了0001,所以要重新设置索引,用代码

df.reset_index(drop=True,inplace=True)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

去掉不用的2015年的数据

df = df[df['时间'].dt.year!=2015]

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1c2hlbmc5OTIy,size_16,color_FFFFFF,t_70

这便是我们最终用的数据!

数据规整完 下一步我们进行市场的分析!

原文链接:https://blog.csdn.net/wusheng9922/article/details/107141094

最后

以上就是自信茉莉为你收集整理的python怎么样用到电商上去_怎么用python电商文本挖掘?(1)的全部内容,希望文章能够帮你解决python怎么样用到电商上去_怎么用python电商文本挖掘?(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部