pandas+pyecharts 数据可视化分析(数据可视化完整分析流程)使用数据集为 云南旅游数据集

在本文中使用pandas加pyecharts对云南旅游数据进行简单的数据可视化分析:
参考资料:pyechartspandans手册
数据集地址

#导入pandas相关的库并查看数据集情况
import pandas as pd
#from pyecharts import Bar, Line, Scatter, EffectScatter, Grid,Pie,WordCloud,Page,Style,Funnel,Liquid
#from pyecharts import configure
date=pd.read_excel("云南旅游数据(3).xlsx")
date.head()

在这里插入图片描述
查看数据集情况

#查看数据集情况,(每列的空值情况和数据类型)
date.info()

在这里插入图片描述

#查看数据值的分布
date.describe()

在这里插入图片描述
简单统计分析


def status(x) : 
    return pd.Series([x.count(),x.min(),x.idxmin(),x.quantile(.25),x.median(),
                      x.quantile(.75),x.mean(),x.max(),x.idxmax(),x.mad(),x.var(),
                      x.std(),x.skew(),x.kurt()],index=['总数','最小值','最小值位置','25%分位数','中位数','75%分位数','均值','最大值','最大值位数','平均绝对偏差','方差','标准差','偏度','峰度'])
d1=date['点评数']
d1= pd.DataFrame(status(d1))
d1

在这里插入图片描述
数据标准化:

#均值标准化
from sklearn.preprocessing import scale
X_scaled = scale(d1)
X_scaled
#最大最小标准化
from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
X_train_minmax = min_max_scaler.fit_transform(d1)
X_train_minmax

对数据中的数值型数据使用pyecharts生成词云图

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
a=date['供应商']
a=a.value_counts()
#a[0:]
a=dict(a)
name=pd.DataFrame(a.keys())
value=pd.DataFrame(a.values())
name=name[0].tolist()
value=value[0].tolist()
words=list(zip(list(name),list(value)))
word=WordCloud()
word.add("",words,word_size_range=[20, 200],)
word.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-shape-diamond"))
word.render_notebook()
word.render_notebook()

在这里插入图片描述
饼状图

from pyecharts import options as opts
from pyecharts.charts import Page, Pie
date['服务保障'].unique()
b=date['服务保障']
b=b.value_counts()
b=dict(b)
name=pd.DataFrame(b.keys())
value=pd.DataFrame(b.values())
name=name[0].tolist()
value=value[0].tolist()
words=list(zip(list(name),list(value)))

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
h=list(zip( list(b.keys()),list(b.values())))
pie = Pie()
pie.add("",words)
pie.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"))
pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
pie.render_notebook()

在这里插入图片描述
柱状图

c=date['目的地']
#修改行索引
c=c.value_counts()
c.rename(index={'云南昆明+大理+丽江6日5晚跟团游·【千人出游】9元购手环 蝴蝶之梦+国际5星':'昆明+大理+丽江'}, inplace = True)
#c.columns
c=dict(c)
name=pd.DataFrame(c.keys())
value=pd.DataFrame(c.values())
name=name[0].tolist()
value=value[0].tolist()
#words=list(zip(list(name),list(value)))

from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(name)
bar.add_yaxis("目的地人数",value)
#bar.DataZoomOpts(is_show=True)
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render_notebook()

在这里插入图片描述
其他更多 图表请参考pyecharts的官网
在这里要注意的时候在pyecharts中,传入数据的时候一定要是列表类型,因为现在pyecharts已经失去了对pandas中dataframe数据类型的支持,我们可以使用以下代码将pandas转化为字典在转化为列表然后再作图

c=date['目的地']
#修改行索引
c=c.value_counts()
c.rename(index={'云南昆明+大理+丽江6日5晚跟团游·【千人出游】9元购手环 蝴蝶之梦+国际5星':'昆明+大理+丽江'}, inplace = True)
#c.columns
c=dict(c)
name=pd.DataFrame(c.keys())
value=pd.DataFrame(c.values())
name=name[0].tolist()
value=value[0].tolist()
  • 11
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值