python轨迹
Ⅰ 用python画图
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?
搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。
它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
turtle.forward(200)
turtle.left(170)
第一个命令是移动200个单位并画出来轨迹
第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度
然后呢? 循环重复就画出来这个图了
好玩吧。
有需要仔细研究的可以看下这篇文章 https://blog.csdn.net/zengxiantao1994/article/details/76588580 ,这个牛人最后用这个库画个移动的钟表,太赞了。
Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。
Matplotlib是python最着名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。
使用起来也挺简单,
首先import matplotlib.pyplot as plt 导入画图的图。
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来。
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 https://blog.csdn.net/guoziqing506/article/details/78975150 这篇文章里介绍的很详细。
现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的。
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
然后呢,我在上篇文章 https://www.jianshu.com/p/d4013d8a73de 中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛
plt.plot(df['time'], df['Ahr999'])
图形如下:
但是,Ahr999指数怎么就一条线不动啊, 原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price") # 绘制第一个图比特币价格
ax1.set_ylabel('BTC price') # 加上标签
# 第二个直接对称就行了
ax2 = ax1.twinx()# 在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999") # 绘制第二个图Ahr999指数,红色
ax2.set_ylim([0, 50])# 设定第二个Y轴范围
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
plt.show()
跑起来看看效果,虽然丑了点,但终于跑通了。
这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。
有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。
Ⅱ python绘图工具turtle库的使用
#PythonDraw.py
import turtle #导入turtle库
turtle.setup(650, 350, 200, 200) #设置画布大小和位置
turtle.penup() #抬起画笔
turtle.fd(-250) #画笔在空中向前飞行-250个像素
turtle.pendown() #画笔落下
turtle.pensize(25) #画笔宽度25个像素
turtle.pencolor("purple") #画笔颜色为紫色
turtle.seth(-40) #海龟方向香油转动45度,但是不行进
for i in range(4): #这里是一个循环
turtle.circle(40, 80) #绕着左边40远处的点向转80度
turtle.circle(-40, 80) #绕着右边40远处的点向转80度
turtle.circle(40, 80/2) #绕着左边40远处的点向转80/2度
turtle.fd(40) #向前40个像素
turtle.circle(16, 180) #绕着左边16远处的点向转180度
turtle.fd(40 * 2/3) #向前40*2/3个像素
turtle.done() #运行完不退出
1.turtle库基本介绍
有一只海龟,其在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形, 海龟由程序控制,可以变换颜色、改变宽度等。
2.turtle库绘图窗体布局
不设置位置,默认在屏幕中心显示
3.turtle库空间坐标体系
绝对坐标,可以使用goto函数到达指定位置
例如:
4.turtle库角度坐标体系
5.RGB色彩体系
Ⅲ 滑动鼠标轨迹过不去python
系统bug。在python中,滑动鼠标,轨迹过不去是因为系统bug导致的,可以退出重登刷新处理。鼠标,是计算机的一种外接输入设备,也是计算机显示系统纵横坐标定位的指示器。
Ⅳ 如何用Python对人员轨迹聚类
把你的 xy 变换成 onehot编码 ,这样的话 聚类算法就都可以兼容了,
KMeans, DBScan, 层次聚类,等等都是可以的
Ⅳ 用户行为分析及实战项目python
用户行为分析是对用户在产品上产生的行为以及行为背后数据进行一系列分析,通过构建行为模型和用户画像,支持产品决策,精细化运营,实现增长。
对于产品而言,用户行为分析可以验证产品可行性,找到产品缺陷,以便需求迭代;
对于设计而言,用户行为分析可以帮助提高产品体验,发现交互不足,以便设计优化;
对于运营而言,用户行为分析可以实现精准营销,挖掘使用场景分析用户数据,以便运营决策调整;
一般包括设备id,时间,行为类型,渠道等
(1)粘性指标-表现用户-提高认知度A激活:关注周期内持续访问,比如:留存率、流失率、新用户占比、用户转化率等;
(2)活跃指标-表现行为-诱导参与留存:用户参与度,比如:活跃、新增、流失、平均访问时长、使用频率等;
(3)产出指标-分析出-培养忠诚度R变现:用户价值输出,比如:消费金额、页面UV、消费频次等;
(1)行为事件分析:根据关键指标对用户行为进行分析,比如:注册、登录、搜索流量商品、加入购物车、提交订单、付款、评价一系列属于电商完整事件。在根据用户细分维度,用户渠道、注册时间、订单频率、新老客等维度找到规律,制定方案。
(2)用户留存分析:分析用户产品参与度的指标,一般遵循40-20-10法则,即日留存大于40%周留存大于20%月留存大于10%。
(3)漏斗分析:描述用户使用产品时关键环节转化率情况,能够验证设计是否合理。分析用户在哪个环节流失,为什么流失,如何降低流失提高转化率。
(4)用户路径分析:用户在使用产品过程中的访问路径。首先要梳理用户行为轨迹,认知-熟悉-试用-使用-忠诚。轨迹背后反应的是用户特征,这些特征对产品运营有重要参考价值。当发现偏差时,可能就是产品的缺陷。
(5)福格模型:用来研究用户行为原因的模型。B行动=M动机A能力T触发器。以分享为例,动机-该分享对分享者和被分享者有什么好处,能力-分享路径实现是否有难度,触发器-分享按钮是否醒目,用户是否意识到这个分享带来的好处。
已知数据集中包括用户ID、商品ID、商品类目ID、行为类型和时间戳,其中行为包括点击、购买、加购、喜欢。
(1)用户活跃指标
(2)用户粘性指标
(3)用户行为分析
能明显看出12月2日周六的PV突增,但是11月25日和26日同为周末,PV量级却没有那么大,需要继续查看数据,有可能是异常情况。
与PV情况相似,但是UV增加不一定就是PV增加的原因,还有可能是某些用户访问次数增加导致PV增加或统计问题,因此需要看一下人均访问次数确定。
人均访问次数接近,由此可知PV的增加就是新访客带来的。由于双12属于年底大促,因此12月2日访问量突增的原因可能与商家开始进行促销和宣传有关系。
人均消费频次2.8次
可以看出主要活跃集中在10-23点,从晚上7时开始至10时用户访问处于最佳活跃状态,21时是一天中活跃最高点。
收藏、加入购物车、购买与pv的趋势相似。
10时附近付费率最高,因此应该保持10时的运营活动加大21时的活动力度。
由图可知,前7个商品类目属于高销量,与第8个类目销量差异较大。
商品类目为‘4159072’付费率最高
进一步探索与它同销量的’1320293‘付费率却极低,发现1320293的访问量很高但是购买平淡无奇,而4159072虽然访问量低但是每十个人访问就有一人付费。可以 深入研究一下它是否有什么特殊性或者高效运营手段,详情页如何展示介绍商品,文案如何设计等,找出规律应用到其他商品上面,提高付费率 或者 从渠道的角度分析是否前者渠道目标用户不如后者精准 。
有过销量的类目共3666个,以销量由大到小排序占总销量的80%为止,有628个商品类目。因此可以说着628个商品类目占总销量的80%,奇妙的28定律!
前面平均消费频次为2.8,销量top20中,‘2885642’‘4756105’‘4159072’这三个类目消费频次与销量差距悬殊,可以根据商品性质分析如何提高用户消费频次,同时可以参考其他消费频次较高商品如‘982926’的运营手段等。
普遍说明每发生1.4次收藏就有1次购买行为。
可以分析出几个商品每收藏4-5次才会购买一次,考虑是否对这类商品进行个性化召回,比如定向推送询问用户收藏的该商品最近有优惠券是否前来购买等。
与区分商品类目的分析相似,这里指针对有异常商品类目下的商品名称进行分析
从商品ID维度分析以商品类目ID=’1320293‘和’4159072‘两者销量相似但是付费率相差悬殊为例。
说明商品类目下有与其大量商品不如小而精,精准定位用户需求。
能辅助证明上面的观点,如果在某类目下有几个商品吸引用购买,那么该类目的销量就会大增。
使用sql较容易实现
可以看出整体次日留存率较高,越接近12月份留存率逐步上升,与临近双十二商家宣传促销有关。
用户复购率也在逐渐提高。
从浏览到加入购物车的转换率仅6.2%,有空间提升。
10.留存率能够达到70%以上,复购率达到20%以上,在临近双12明显提升。
11.通过观察漏斗可以看出,加入购物车的转化率仅6.2%还有很大的空间提升。
由于此次数据集没有提高销售金额,因此无法进行ARPU方面数据分析。这里补充下关于消费金额的知识点:
LTV是平均每个用户带来的价值,可以决策为每个用户付出多少成本。一般来说LTV>CAC认为公司发展空间大,LTV<CAC认为公司变现能力弱,LTV/CAC=3认为公司健康,大于3说明市场拓展较为保守;小于3说明转化效率底下。
LTV=LT*ARPU
LT指用户平均生命周期,留存率之和。
举例:如果知道用户一个月内的留存率,可以使用excel做出对数趋势线,看下r方。根据对数公式计算出留存率之和,也就是LT。
注意:ARPU与LT要有单位之间的换算。
CAC计算要考虑进去成本,包括营销费用、推广费用、以及人力成本。CAC是一个平均值,可能在各渠道下成本不一,可以区分渠道分别计算。
即花费的用户获取成本能在多长时间内回本。PBP越短资金周转越快。
参考:
https://blog.csdn.net/u012164509/article/details/103049740 arpu和aprru
https://jiahao..com/s?id=1662108604585143388&wfr=spider&for=pc LTV