寒假学习Day 2:Python数据分析

寒假学习Day 2:Python数据分析

今天主要是进行了python数据分析的相关学习,以2020年美赛C题的数据为着手点进行了实际操作
2020年美赛C题题目+翻译https://blog.csdn.net/qq_41618424/article/details/104690600?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161120225416780265452554%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161120225416780265452554&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-104690600.first_rank_v2_pc_rank_v29&utm_term=2020%E5%B9%B4%E7%BE%8E%E8%B5%9BC%E9%A2%98&spm=1018.2226.3001.4187

用到的库

import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
import numpy as np
import sys
import time 
import hmac
import jieba
import json
import uuid
import base64
import urllib
import random
import hashlib
import requests
import datetime
import http.client
import urllib.parse
import urllib.request
from imp import reload
import csv
import re
import seaborn as sns
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from imageio import imread
from IPython.display import Image
from IPython import display
import imageio

导入数据

这个题的数据一共有三个,分别是吹风机,微波炉和奶嘴,这里我选择试试微波炉的数据

data=pd.read_csv('microwave.tsv',sep='\t')
data

一共得到了1615行,15列数据
得到的数据

分析数据的列标签分别都是什么

列标签含义
marketplace超市地址,应该都是US
customer_id消费者id
review_id评价id
product_id产品id
product_parent产品专利权
product_title产品标题
product_category产品类别
star_rating星级
helpful_votes帮助评分
total_votes总共的选票
vine藤(?)
verified_purchase确认购买
review_headline评论标题
review_body评论主体
review_date评论时间

问题一

Analyze the three product data sets provided to identify, describe, and support with mathematical evidence, meaningful quantitative and/or qualitative patterns, relationships, measures, and parameters within and between star ratings, reviews, and helpfulness ratings that will help Sunshine Company succeed in their three new online marketplace product offerings.

这段文字,直接用机翻翻译出来的句子非常拗口且难懂,我自己看了很多遍还是感觉很莫名其妙,后来求助了英语比较好的同学之后大概明白了一些,应该是需要对题中所给的数据中的star ratings,reviews,helpfulness ratings 进行相关分析,最后得到产品上线后取得成功的概率。

产品的reviews都是文字,这需要情感分析,所以我决定最后再分析这一块的影响,先分析start rating

先把整个数据里的start_rating画出来瞧瞧

plt.rcParams['font.sans-serif'] = ['KaiTi']#设置字体防止乱码
plt.rcParams['font.serif'] = ['KaiTi']
need= ['marketplace','star_rating','product_id']
data2= data[need]#获取需要的数据
regions = set(data2['marketplace'])#获取所有区域名称
for item in regions:#分别获取一个区域内的所有产品信息
    plt.figure()#画图
    d= data2[data2['marketplace'] == item]
    sns.barplot(d['product_id'],d['star_rating'])
    plt.xticks(rotation='vertical')#设置横坐标数据方向
    plt.ylabel("star_rating")
    plt.xlabel("product_id")
    plt.title('{} is star_rating '.format(item))
    plt.savefig(f"{item}is star_rating.png")#保存图片
    plt.show()#图片展示

US
us
可以看出 数据非常多

接下来打算统计star rating 分别为1,2,3 ,4 ,5的占比如何

count = data.loc[:, 'star_rating'].value_counts()
print(count)

在这里插入图片描述
将数据化成饼状图

labels=['1','2','3','4','5']
sizes=[402,112,134,300,667]
plt.figure()#画饼图
explode =[0.05,0,0,0,0,0,0,0,0,0]
patches,l_text,p_text = plt.pie(x=sizes,labels=labels,autopct='%1.f%%')
plt.axis('equal')
for t in l_text:#设置字符尺寸
    t.set_size = 130
for t in p_text:
    t.set_size = 120
plt.legend(loc='upper left',bbox_to_anchor=(-0.1, 1))#设置图标位置
plt.savefig("star_rating.png")#保存图片
plt.grid()
plt.show()

饼图
然而画出来之后还是感觉很茫然

突然想到分析两个及两个以上变量之间的关系可以用回归分析,就想到了决策树的回归树,决定先把reviews,helpfulness ratings不太好分析的数据转化成好分析的数据
由于今天太晚了,这段数据分析明天再分析吧
先画个词云看看 review_headline

yuni=''
data1=data['review_headline']
for i in range(1615):
    data1=str(data1)
    s_list=list(jieba.cut(data1))
    for i in s_list:
        yuni+=i+' '
cloud=WordCloud(background_color='white',max_words=200,font_path='C:\Windows\Fonts\simfang.ttf',max_font_size=100).generate(yuni)
plt.imshow(cloud,interpolation="bilinear")
plt.axis('off')
plt.show()
cloud.to_file('review.png')#保存图片

云
再看看review_body

yuni=''
data1=data['review_body']
for i in range(1615):
    data1=str(data1)
    s_list=list(jieba.cut(data1))
    for i in s_list:
        yuni+=i+' '
cloud=WordCloud(background_color='white',max_words=200,font_path='C:\Windows\Fonts\simfang.ttf',max_font_size=100).generate(yuni)
plt.imshow(cloud,interpolation="bilinear")
plt.axis('off')
plt.show()
cloud.to_file('review.png')#保存图片

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你在学习Python数据分析的时候,是否遇到过在这些问题? 别慌!这些都是数据科学入门常见问题。从入门到上手再到解决实际问题,数据科学看似复杂,但如果你掌握了正确的学习方法,完全可以极速入门。 【职场人进阶必备  数据分析/挖掘一点通】 如今的职场上,90%以上的岗位都会涉及数据问题。 以产品文案岗位为例,在一个新产品推向市场之前,文案需要考虑: 此时,可以关注一下市场上已有的相关产品推广数据,如:哪些文案打开率更高?哪些文案转化更好?目标用户的购买习惯如何? 以此作为下一步工作开展的依据,对产品文案工作者来说,可以少走很多弯路。 学会数据分析/挖掘,等于站巨人的肩膀上工作,轻松且高效。 【爬虫、数据分析、数据挖掘知识点三合一】数据问题一网打尽 本课程将知识点悉数融入实战项目,不空谈语法,帮助学员在实践中获取知识,目标是:让学员能自主完成数据采集、数据分析与数据挖掘。 学习完本课程,你可以熟练掌握: 【实战案例超实用,轻松拥有“睡后收入”!】 本课程以股票案例为主线,串联爬虫、数据分析以及数据挖掘多个知识点。 通过实战案例演练,你可以全面掌握股票收益的分析和预判方法,在收获新技能的同时,也有机会获得“睡后收入”! 四大优势: 三重权益:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值