今日课程内容
内容回顾 构建图形
计算
聚合计算:max、min、avg、sum、count、countd、zn… if-else计算
内容回顾
1 . 日期操作
单值
多值
- - - -
连续、离散
2 . 构建图形
表格
条形图
折线图
散点图
饼图
空心饼图
直方图
热图
突出显示表
作业讲解
import numpy as np
import matplotlib. pyplot as mp
mp. rcParams[ 'font.sans-serif' ] = [ 'FangSong' ]
apples = np. random. randint( 30 , 80 , 6 )
oranges = np. random. randint( 30 , 80 , 6 )
months = np. arange( 1 , 7 )
mp. figure( '水果销量趋势分析图' , facecolor= 'gray' , figsize= ( 6.4 , 4.8 * 1.5 ) )
mp. subplot( 2 , 1 , 1 )
mp. title( '苹果-橘子销售趋势图' )
mp. xlabel( '月份' , fontsize= 10 )
mp. ylabel( '销量' , fontsize= 10 )
mp. xticks( months, labels= [ "%s月" % x for x in months] )
mp. bar( months, apples, width= 0.5 , color= 'red' , label = '苹果' )
mp. bar( months, - oranges, width= 0.5 , color= 'yellow' , label = '橘子' )
'''
zip:压缩
将2个列表数据依次对应
1 12
2 22
3 44
months apples
[1,2,3,4,5,6]
[10,20,30,40,50,60]
zip([1,2,3,4,5,6],[10,20,30,40,50,60])
((1,10),(2,20)....)
people = (1,'李白',18,'长安')
# 拆包
id,name,age,address = people
'''
for x, y in zip ( months, apples) :
mp. text(
x, y+ 3 , '%sT' % y,
size= 9 ,
va= 'center' ,
ha= 'center'
)
for x, y in zip ( months, oranges) :
mp. text(
x, - ( y+ 3 ) , '%sT' % y,
size= 9 ,
va= 'center' ,
ha= 'center'
)
mp. text( 3 , 0 , '2018年' , size= 36 , color = 'gray' , alpha = 0.6 )
mp. subplot( 2 , 1 , 2 )
mp. title( '苹果-橘子销售趋势图' )
mp. xlabel( '月份' , fontsize= 10 )
mp. ylabel( '销量' , fontsize= 10 )
mp. xticks( months, labels= [ "%s月" % x for x in months] )
mp. bar( months- 0.25 , apples, width= 0.4 , color= 'red' , label = '苹果' )
mp. bar( months+ 0.25 , oranges, width= 0.4 , color= 'yellow' , label = '橘子' )
for x, y in zip ( months, apples) :
mp. text(
x- 0.25 , y+ 3 , '%sT' % y,
size= 9 ,
va= 'center' ,
ha= 'center'
)
for x, y in zip ( months, oranges) :
mp. text(
x+ 0.25 , y+ 3 , '%sT' % y,
size= 9 ,
va= 'center' ,
ha= 'center'
)
mp. text( 3 , ( max ( apples) + 0 ) / 2 , '2019年' , size= 36 , color = 'gray' , alpha = 0.6 )
mp. show( )
构建图形
1 . 树状图:
作用1 :数据的分布( 排序)
作用2 :研究数据的周期
条件:1 个维度、1 个or2个度量
2 . 气泡图
1 个或多个维度
1 个或2 个度量
3 . 文字云:
将气泡图的圆形改成文本显示
4 . 靶心图
0 或多个维度
2 个度量
5 . 盒须图
0 个或多个维度
1 个或多个度量
案例:产品订单的盒须图
计算-聚合函数
包括:
max
min
avg
sum
count
计数
countd
计数不同
一个订单
2021 6 3 001 xxx
2021 6 3 001 yyy
abs 绝对值
zn
等同于python的fillna( 0 )
案例:绘制2020 年12 月的销售额趋势图
ZN( sum ( [ 销售额] ) )
1 - 2 3 - 4 5 - 6 结果为- 3
abs ( 利润)
将每一个数据值进行绝对值处理
1 2 3 4 5 6 结果 21
abs ( sum ( 利润) )
结果3
计算-if_else
if 条件 then 结果
elseif 条件 then 结果
. . .
else 结果
end
案例:绘制四象限图形
IF SUM( [ 销售额] ) >= 20842 and SUM( [ 利润] ) < 2785 THEN '1'
ELSEIF SUM( [ 销售额] ) >= 20842 and SUM( [ 利润] ) >= 2785 THEN '2'
ELSEIF SUM( [ 销售额] ) < 20842 and SUM( [ 利润] ) < 2785 THEN '3'
ELSE '4'
END
作业
1 、熟练使用Tableua绘制图形
2 、熟练使用Tableua进行计算
3 、案例:绘制上海地区销售额占比图( 空心饼图显示)
4 、数据分析算法题(牛客网)
有一个列表记录10 个数据,第一个数据为1 ,后面的数据是前面的数据描述
a[ 0 ] = 1
a[ 1 ] = 11
代表1 个1
a[ 2 ] = 21
代表2 个1
a[ 3 ] = 1211
代表1 个2 1 个1
a[ 4 ] = 111221
代表1 个1 1 个2 2 个1
. . .
输入对应的下标,显示数据
5 、完成电商案例