日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python—实训day12—汽车用户消费投诉案例-分析及可视化

發(fā)布時(shí)間:2023/12/18 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python—实训day12—汽车用户消费投诉案例-分析及可视化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1數(shù)據(jù)預(yù)處理

1.1讀取數(shù)據(jù),查看數(shù)據(jù)形狀,數(shù)據(jù)類型

#------------1.1讀取數(shù)據(jù),查看數(shù)據(jù)形狀,數(shù)據(jù)類型--------------------

import pandas as pd

data = pd.read_excel(r'F:\Desktop\汽車用戶消費(fèi)投訴數(shù)據(jù).xlsx')

data.head()

data_shape = data.shape #(75423, 8)

data.dtypes #查看數(shù)據(jù)類型

1.2檢測(cè)缺失值、重復(fù)值并處理

#------------1.2檢測(cè)缺失值、重復(fù)值并處理--------------------

#----檢查缺失值

data.isnull().sum() #可忽略也可以采用刪除法刪除對(duì)應(yīng)的那兩行數(shù)據(jù)

a = data.loc[data['投訴內(nèi)容'].isnull(), :]

#----刪除法處理缺失值

data.dropna(axis=0, how='any', inplace=True)

null_shape = data.shape #(75421, 8),刪除了兩行數(shù)據(jù)

print('總共刪除了',data_shape[0]-null_shape[0],'行數(shù)據(jù)。')

#----重復(fù)值的檢測(cè)及處理

data.drop_duplicates(inplace=True)

wuchongfu_shape = data.shape #(75408, 8),刪除了13行數(shù)據(jù)

print('總共刪除了',null_shape[0]-wuchongfu_shape[0],'行重復(fù)數(shù)據(jù)')

1.3對(duì)各列進(jìn)行處理

將“Unnamed: 0”一列進(jìn)行刪除。(沒有分析意義)

“單號(hào)”一列將“單號(hào):”去除,并轉(zhuǎn)換為“int”類型。

“品牌車型”一列將“品牌車型:”去除。

“投訴時(shí)間”一列將“投訴時(shí)間:”去除,并轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間格式。

“經(jīng)銷商”一列將“經(jīng)銷商:”去除。

“訴求問題”一列將“訴求問題:”去除。

#data['單號(hào)'][0].replace('單號(hào):', '')

#'aabb'.replace('aa', '')

#------------1.3對(duì)各列進(jìn)行處理--------------------

#----將“Unnamed: 0”一列進(jìn)行刪除。(沒有分析意義)

data.drop('Unnamed: 0', axis=1, inplace=True)

data.shape #(75408, 7),刪除了一個(gè)列

#----“單號(hào)”一列將“單號(hào):”去除,并轉(zhuǎn)換為“int”類型。

##--第一張方法:使用int函數(shù)

data['單號(hào)'] = data['單號(hào)'].apply(lambda x:int(x.replace('單號(hào):', '')))

data.dtypes

##--第二種方法:使用astype方法

# data['單號(hào)'] = data['單號(hào)'].apply(lambda x:x.replace('單號(hào):', ''))

# data['單號(hào)'] = data['單號(hào)'].astype('int')

# data.dtypes

#----“品牌車型”一列將“品牌車型:”去除。

data['品牌車型'] = data['品牌車型'].apply(lambda x:x.replace('品牌車型:', ''))

#----“投訴時(shí)間”一列將“投訴時(shí)間:”去除,并轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間格式。

data['投訴時(shí)間'] = data['投訴時(shí)間'].apply(lambda x:x.replace('投訴時(shí)間:', ''))

data.dtypes

data['投訴時(shí)間'] = pd.to_datetime(data['投訴時(shí)間'])

data.dtypes

#----“經(jīng)銷商”一列將“經(jīng)銷商:”去除。

data['經(jīng)銷商'] = data['經(jīng)銷商'].apply(lambda x:x.replace('經(jīng)銷商:', ''))

#----“訴求問題”一列將“訴求問題:”去除。

data['訴求問題'] = data['訴求問題'].apply(lambda x:x.replace('訴求問題:', ''))

1.4重置索引

#------------1.4重置索引--------------------

##--第一種方法:調(diào)用index屬性

#data.index = range(len(data))

##第二種方法:使用reset_index方法

data.reset_index(drop=True, inplace=True) #drop=True將原始索引進(jìn)行刪除操作

2數(shù)據(jù)可視化分析

2.1歷年投訴數(shù)量統(tǒng)計(jì)

2.1.1繪制柱狀圖呈現(xiàn)不同年份的投訴情況

#----2.1.1繪制柱狀圖呈現(xiàn)不同年份的投訴情況

#構(gòu)建新列“year”(提取“投訴時(shí)間”中的年份數(shù)據(jù))

##--第一種方法

#data['year'] = data['投訴時(shí)間'].apply(lambda x:x.year)

##--第二種方法

data['year'] = data['投訴時(shí)間'].dt.year

#統(tǒng)計(jì)各個(gè)年份的投訴數(shù)量

year_tousu = data.groupby(by='year').agg({'投訴時(shí)間':'count'})

#繪制柱狀圖

##--第一種方法:使用pyecharts繪制

from pyecharts.charts import Bar

bar = Bar()

bar.add_xaxis(xaxis_data=list(year_tousu.index)) #添加x軸數(shù)據(jù)

bar.add_yaxis(series_name='投訴數(shù)量', y_axis=list(year_tousu['投訴時(shí)間'])) #添加y軸數(shù)據(jù)

bar.render(r'F:\Desktop\a.html')

##--第二種方法:使用matplotlib繪制

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei' #正常顯示中文

plt.rcParams['axes.unicode_minus'] = False #正常顯示符號(hào)

plt.bar(range(len(year_tousu)), year_tousu['投訴時(shí)間'])

plt.xticks(range(len(year_tousu)), year_tousu.index)

plt.title('不同年份的投訴數(shù)量')

plt.xlabel('年份')

plt.ylabel('投訴數(shù)量')

plt.show()

#繪制不同年份投訴數(shù)量及年環(huán)比增長(zhǎng)率(雙Y軸圖像)

t = year_tousu.diff().iloc[1:,:] #年增長(zhǎng)的投訴數(shù)量

t.index = year_tousu.index[:-1]

num = t/year_tousu #投訴數(shù)量年環(huán)比增長(zhǎng)率

fig = plt.figure(figsize=(6,4))

ax = fig.add_subplot(1, 1, 1)

ax.bar(year_tousu.index, year_tousu['投訴時(shí)間'])

ax.set_xlabel('年份')

ax.set_ylabel('投訴數(shù)量')

ax.set_title('不同年份投訴數(shù)量及年環(huán)比增長(zhǎng)率')

plt.xticks(year_tousu.index, year_tousu.index) #設(shè)置x軸刻度

ax2 = ax.twinx() #兩個(gè)子圖公用x軸

ax2.plot(num.index[2:], num.iloc[1:-1, 0], c='r')

ax2.set_ylabel('年環(huán)比增長(zhǎng)率')

plt.show() #顯示圖形

2.1.2繪制折線圖呈現(xiàn)投訴數(shù)量隨日期的變化情況

#----2.1.2繪制折線圖呈現(xiàn)投訴數(shù)量隨日期的變化情況

#構(gòu)建新列“date”(提取“投訴時(shí)間”中的日期數(shù)據(jù))

data['date'] = data['投訴時(shí)間'].dt.date

#統(tǒng)計(jì)各日期下的投訴數(shù)量

num = data.groupby(by='date').agg({'投訴時(shí)間':'count'})

num.columns = ['投訴數(shù)量'] #更改列名

plt.plot(range(len(num)), num['投訴數(shù)量'])

plt.xticks(range(0, len(num), 100), num.index[::100],rotation=90) #設(shè)置x軸刻度

plt.xlabel('日期')

plt.ylabel('投訴數(shù)量')

plt.title('投訴數(shù)量隨日期的變化情況')

plt.show()

2.1.3繪制熱力圖呈現(xiàn)不同年份不同月份的投訴情況

#新建一列“month”(提取“投訴時(shí)間”中的月份數(shù)據(jù))

data['month'] = data['投訴時(shí)間'].dt.month

#統(tǒng)計(jì)各年份各月份的投訴數(shù)量

num = pd.pivot_table(data[['year','month','投訴時(shí)間']],

index='year', columns='month', values='投訴時(shí)間',

aggfunc='count')

num.fillna(0, inplace=True) #填補(bǔ)缺失值

num.max().max() #2873.0

num.median().median() #605.0

from pyecharts.charts import HeatMap

import pyecharts.options as opts

values = [(i, j, num.values[i,j]) for i in range(10) for j in range(12)]

#熱力圖

heatmap = HeatMap()

heatmap.add_xaxis(xaxis_data=[2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020])

heatmap.add_yaxis(series_name='投訴數(shù)量', yaxis_data=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], value=values, label_opts=opts.LabelOpts(is_show=True, position='inside'))

heatmap.set_global_opts(title_opts=opts.TitleOpts(title='不同年份不同月份的投訴情況'),

visualmap_opts=opts.VisualMapOpts(min_=200, max_=3000), #視覺映射配置

xaxis_opts=opts.AxisOpts(name='年份', name_location='middle'), #設(shè)置x軸標(biāo)簽

yaxis_opts=opts.AxisOpts(name='月份', name_location='middle'), #設(shè)置x軸標(biāo)簽

)

heatmap.render(r'F:\Desktop\a.html')

#提取2018年3月份數(shù)據(jù)

tousu_max = data.loc[(data['year']==2018) & (data['month']==3), :]

#統(tǒng)計(jì)2018年3月各品牌車型的投訴數(shù)量

tousu_max['品牌車型'].value_counts()

#提取2018年3月份品牌車型為“本田CR-V”的數(shù)據(jù)

tousu_max.loc[data['品牌車型']=='本田CR-V', :]

2.2投訴問題

import jieba

from tkinter import _flatten

from wordcloud import WordCloud

jieba.load_userdict(r'F:\Desktop\newdir.txt') #加載自定義詞庫(kù)

#分詞

content_cut = data['投訴內(nèi)容'].apply(lambda x:jieba.lcut(str(x)))

#導(dǎo)入停用詞

with open(r'F:\Desktop\stoplist.txt', 'r', encoding='utf-8') as f:

stop = f.read().split()

stop = stop + [' ','\n']

#過濾詞

content_after = content_cut.apply(lambda x:[i for i in x if i not in stop])

#數(shù)據(jù)展平及頻數(shù)統(tǒng)計(jì)

ci_counts = pd.Series(_flatten(list(content_after))).value_counts()

ci_counts

#繪制詞云圖

pic = plt.imread(r'F:\Desktop\aixin.jpg') #加載圖片

wc = WordCloud(mask=pic, font_path=r'C:\Windows\Fonts\simsun.ttc', background_color='white') #mask設(shè)置背景圖片,background_color設(shè)置背景顏色

wc.fit_words(ci_counts[:200]) #添加數(shù)據(jù)

plt.axis('off') #設(shè)置不顯示坐標(biāo)尺寸

plt.imshow(wc) #接收一張圖像,只是畫出該圖

plt.show()

2.3不同品牌的投訴情況

#----2.3.1品牌投訴排行榜

pinpai = data['品牌'].value_counts()

plt.bar(range(10), pinpai[:10])

plt.xticks(range(10), pinpai.index[:10], rotation=90)

plt.title('品牌投訴排行榜')

plt.show()

總結(jié)

以上是生活随笔為你收集整理的Python—实训day12—汽车用户消费投诉案例-分析及可视化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产不卡视频在线播放 | 欧美做受高潮6 | 天天插天天射 | 久久天天| 免费av看片 | 天堂在线观看视频 | 久久αv| av永久免费网站 | 国产黑丝在线视频 | 欧美日韩国产在线一区 | 五月婷婷六月香 | 懂色av一区二区三区四区 | 亚洲永久视频 | 日韩女同一区二区三区 | 日本午夜视频 | 美女视频黄a视频全免费观看 | 五月婷婷色综合 | 久久精品2019中文字幕 | 亚洲一卡二卡三卡四卡 | 亚洲男人天堂久久 | 成人3d动漫一区二区三区 | 理论片一区 | 亚洲视频在线免费播放 | 亚洲欧美国产一区二区 | 九色国产视频 | 国产视频四区 | 四虎影院永久 | 欧美日韩黄色片 | 成人区人妻精品一区二区不卡视频 | 快色视频在线观看 | 欧美日韩综合在线 | 法国空姐电影在线观看 | 欧美成人中文字幕 | 两个人看的www视频免费完整版 | 久久丁香网 | 日韩av免费看 | 日韩aa视频 | 精品人伦一区二区 | 国产精品久久久久久99 | a级片国产 | 黄色网战大全 | 骚婷婷 | 自拍天堂 | 五月婷婷丁香久久 | 免费人成在线观看网站 | 日日夜夜撸啊撸 | 日本三级小视频 | 北京少妇xxxx做受 | 久久日视频 | 精品动漫一区二区三区的观看方式 | 中文在线免费 | 国产永久精品 | 日韩福利电影在线观看 | 伊人色播 | 狠狠97 | 18被视频免费观看视频 | 四虎影 | 欧美福利影院 | 中文字幕影片免费在线观看 | 亚洲国产av一区二区 | 麻豆tube| 欧美mv日韩mv国产 | 亚洲伦理一区 | 国产一级全黄 | av黄色一级片 | 香蕉久久a毛片 | www.色日本 | 亚洲玖玖玖| a级片黄色 | 国模吧无码一区二区三区 | 成人a级大片 | 中文字幕久热 | 善良的女朋友在线观看 | 欧美一页 | 美国一级特黄 | 欧美a级片在线观看 | 亚洲天堂视频网站 | 一级裸体片 | 男女日批免费视频 | 边添小泬边狠狠躁视频 | 中文字幕国产综合 | 中文字幕av一区 | 朋友人妻少妇精品系列 | 激情视频区 | 日本高清无吗 | 亚洲产国偷v产偷v自拍涩爱 | 亚洲av成人无码一二三在线观看 | 亚洲综合第一页 | 超碰在线成人 | 北条麻妃av在线 | 草逼网站 | 内射一区二区三区 | 最新av在线网站 | 欧美一级录像 | 精品国产视频在线 | zzji欧美大片 | 天天弄天天操 | aaa黄色一级片 | 成人免费黄色网址 |