标签归档:学习

产品经理知识技能图谱 0.1

产品经理是一个职业角色,通常也代表一类人,不同企业对产品经理的定义不尽相同,但多少都会跟产品有关系。以前招聘产品经理时,我给产品经理的定义是:「产品经理是产品的 CEO」,并在每一次招聘中按照这个定义进行沟通,以促进双方的互相了解,但终归这是有些模糊的,比较个人化。

从产品出发可能更有利于理解产品经理,将产品经理看作是产品生命周期中各阶段的统筹者,是必须为产品生命周期各阶段结果负责的职业角色,这样就会清晰很多。沿着产品这条路,产品生命周期可以大体上划分为探索、成长、成熟、衰退这四个阶段,每个阶段都涵盖着源起、分析、设计、实现、发布、运营等诸多的工作。

可见要承担这样的角色需要具备一定的能力和掌握一些技能,这样才有可能推进每个阶段的工作并达成预期的结果。那么该具备什么能力呢?我觉得逻辑思维能力、沟通能力和认知能力是比较核心的三个能力,也是产品经理的基础能力;而从技能上看,覆盖面则相当宽广,在尝试对所有涉及到的技能整理后获得下图,称之为「产品经理技能图谱 Ver 0.1」。

图中从内到外是一个产品经理从局部到全面过程中需要掌握的技能点,从职级上可以说是从初级产品经理「助理、专员」,高级产品经理到产品总监的进阶之路。当然在分工协作的当下,可以选择某一部分成为专职的产品经理,比如需求产品经理,运营产品经理、数据分析产品经理等等,视现实中的需求而定。

图上的众多技能之间按照明显的边界进行整理归纳,但实际学习中边界并不会这么清晰,每一个产品的建设也不一定会用到全部技能,而要想熟练全部的技能也是极其困难的,一方面要有全栈的志向,另一方面也要有人至践则无敌的切实行动。

梳理产品经理技能,是我对产品的相关知识技能结构化及系统化的思考与整理,形成的这个图可以作为一个索引,便于自我审视及进一步的学习、实践、思考、总结。虽然图中密密麻麻这么多的技能看着让人头皮发麻,但依然可「yi」能「ding」会有不少遗漏或不妥的地方,仍然具有进一步抽象归纳的可能,而这就需要朋友们的参与反馈和自我提升后的修正了,希望看到图的朋友们多多指正,也希望它对你有点用。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

常见图表的使用

在信息传递中,除了单纯的文字表现方式之外,将信息可视化也是一种常见的信息传递方式。通过视觉化的方式传递信息,在某些时候其所传递的信息,会让用户理解起来更简明和清晰易懂。

比如,以文字的方式说明要到某个目的地,要想将这个说明说的更清楚,通常会通过在说明中不断增加标志物来辅助说明,这样一来二去的说明文字就不断的增加,用户阅读起来自然费劲,远不如直接放一个路线图或地图来的简洁明了。

我们通常采用图片、插图、图表以及地图等信息图片的方式完成信息的可视化,其传递的可视化信息依据信息图片的类别不同也会自然不同,其中的图表在我们日常工作中经常用到。图表与数值有关,在对基于数值的统计分析中,我们常常会采用图表来辅助对数据的阅读与理解。比如企业在月度中对不同部门销售情况做统计分析时,个人销售情况,个人月度消费情况统计等情况下就会常用到图表。

常见的图表有圆形图表、柱状图表、折线图表、面积图表、雷达图表、散点图表等。图表的使用在于对数值选择什么样的图表来展现,不同的图表所适合可视化的内容是不尽相同的,选择合适的图表,是将数据变得明白易懂的关键。

圆形图表常见的表现形式为饼图和圆环图,在内容需要表现为比率的时候,使用圆形图表是比较合适的,在各内容同属于同一总体的各个部分,需要对比各项内容所占的相对比率时,应该使用圆形图表。其基本特征为:表示整体中各项内容的比率;各项内容总和一般为 100%;不适合绝对数值的比较。

柱状图表的表现形式为方柱形或条形,比较适合用在绝对数值比较的场合下,各项数据按照柱形的长短不同,其比较结果一目了然。柱状图表的表现形式在方向上可分为纵向和横向两种方式。 柱状图除了可以进行单个类别的值比较,也可以进行多个类别的值比较,在进行多个类别数据比较时,当多个类别呈现在一个柱形上时,这个柱状图被称为累积柱形图或堆叠柱形图。柱状图的基本特征为:表示各项内容的绝对产别;通过柱形长度表示各项内容的数值;不适合相对比率的表现。

需要注意的是,在进行柱状图表的制作时,坐标轴的刻度值和间距是比较重要的,如果不注意很容易会被华丽的数据欺骗。

单项数据的比较

多类别数据比较

折线图表的表现形式是线和点的组合,它是表示变化的一种图表,在时间的维度上展示数据发生的变化。因为图表的形状为线段,故可以在折线图中同时呈现较多的数据。其基本特征为:表现因时间不同而产生变化的数据;坐标轴上某个时间点数据为圆点或圆圈,图由整个线段连接点构成;相比柱状图能呈现更多的数据。

面积图表是在折线图的基础上更近了一步,除了表示数据的变化之外,还能呈现数据细节,每个面积区域最上端的边线如同折线图表一样表示该项数据的变化,每一项的面积则表示细节。面积图表可以说是一种复合图表,可以了解整体上的变化的同时,也能够了解各项内容的各自增减情况。其基本特征为:表现各项内容整体数据的变化;也表现各项内容各自的变化。

雷达图表又叫戴布拉图、蜘蛛网图,从中心开始以放射状发散开的轴线来分散安排某项内容的数值,同时表示不同的性质和其间的平衡性。看起来像雷达,同时也像蜘蛛网。越靠近中心点数值越小,反之则越大。常用来分析各项数据中不同特性的分布及其整体的平衡性,各项数据之间的差别越小,表现为越平衡。其支持很多数据的比较。其基本特征为:表现各项内容的性质及其平衡性;可对多组数据项进行比较。

散点图表通过数据的点状散布,表示数据的动向或趋势及其相关性,当有大量数据值的时候,如果要展示数据的分布与聚合情况,或者如果寻找这些数据相关性,或者如果要寻找这些数据的趋势,则比较适合用散点图表。其特征为:通过点表示各个数据相对应的位置;通过点的分布情况表示出整体的动向或趋势。

除了这些常见的图表之外,还有一些经过演变或互相结合使用的图表、用于特定场景的图表。比如各种数据地图就可以将地图与基本图表元素结合起来使用「地图散点图、地图饼图、地图柱状图、地图热力图等」,可在业务流程分析中使用的漏斗图,圆形图表升级版的旭日图,拟物化的柱状图等。

这么多种类的图表的产生大大促进信息的传达与简化,便于辅助人们理解信息与使用信息,很多时候当我们面对一堆杂乱无章的数据毫无头绪时,试试将数据图表化或许能够从杂乱无章中理出一点点头绪。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

初识 Python(二):字符串

继续学习 Python 的基础。字符串是编程语言中经常处理的数据类型,Python 中的字符串可以使用单引号作为开始和结束的起止符表示,也可以使用双引号作为开始和结束的起止符表示,不少其他的编程语言也采用这样的方式来表示字符串。

对于一个字符串中本来就包含有单引号时,使用双引号会方便一些,不用使用转义符,其他两者并无不同,使用主要看个人喜好,我比较喜欢使用双引号。

转义符在各个编程语言中都有,反斜杠后面跟需要转义的字符,常见的需要转义的字符有单引号、双引号、制表符 「\t」、换行符 「\n」等等。

除此之外, Python 还有三引号作为字符串的起止符,三引号常用于多行字符串,三个单引号和三个双引号都可以,三引号起止符之间的字符串中的所有空格、引号、制表符和换行符都会被当作字符串的一部分。三引号也可以作为多行注释。

在字符串起始的引号前加小写字母「 r 」,将忽略该引号中字符串里所有的转义字符,也就是你引号中的字符串是什么它就是什么,同样的支持单引号、双引号、三引号。

对字符串的操作就像列表一样,可以用下标,同样也可以对字符串实行切片操作,切片操作使用「字符串[m:n]」来完成。

比较常见的字符串方法。

字符大小写转换相关的方法 upper()、lower()、isupper()、islower(),其中前两个是能够将字符串全部变成大写和全部变成小写的两个方法,需要注意的是调用该方法并不会改变原有的字符串,而是生成了新的字符串;后两个方法分别判断字符串是否全部为大写或全部为小写,返回 True 或 Flase。

isupper() 和 islower() 还有一些弟弟妹妹们:

isalpha() 如果字符串中只包含字母并且不为空,对字符串调用这个方法会返回 True 。

isalnum() 如果字符串中只包含字母和数字并且不为空,对字符串调用这个方法会返回 True 。

isdecimal() 如果字符串中只包含数字并且不为空,对字符串调用这个方法会返回 True 。

istitle() 如果字符串每个词的首字母大写后面为小写并且不为空,对字符串调用这个方法会返回 True 。

字符串的连接和拆分是字符串编程中常见的操作,Python 中的字符串拆分跟很多其他编程语言类似,都是使用split() 方法,使用 split() 可以将字符串拆分成列表。字符串连接的方法使用 join() ,这让我一下想起了 SQL 中的left join 和 right join ,对字符串使用 join() 可以连接字符串。

去除字符串前后的空格也是字符串编程中常见的,Python 中使用 strip() 、lstrip() 、 rstrip() 方法取出字符串前后的空格,strip 去除首尾空格,lstrip 去除字符串首部空格,rstrip 去除尾部空格。

Python 还提供了字符串对齐的方法,这个比较有意思,分别是用于左对齐的 ljust(),用于右对齐的 rjust() 何由居中对齐的 center()。 对齐方法有两个参数,第一个参数是对齐的长度,第二个参数是用于填充对齐中空白的字符。

还有比较字符串开头和结尾是否一致的方法,分别是 startswith() 和 endswith(),可以检查字符串的头尾是否和预期的一致。

Python 中提供了不少的字符串的方法,这门编程语言对于文本处理应该是比较强大的,再配合起第三方的模块应该比较强悍,继续学习。

相关阅读

初识 Python(一)

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

初识 Python(一)

人生苦短,该学学 Python ,花时间看了看 Python 基础性的内容,做个记录。

Python 是一门解释性、面向对象、动态数据类型的高级程序设计语言。

代码块间无花括号,也没有诸如 begin…end 的开始结束分隔符,每条语句也不需要用分号作为结束,以自然换行为一条语句。同一层次的代码块用缩进来区分,简洁干净。

基础数据类型同其他程序设计语言,如整型、浮点型、字符串、布尔型。

操作符也很类似,其中 * 操作符比较有意思,除了作为乘法操作符外,在用于字符串和整型值时,这个操作符就变成了字符串复制符。

比如在命令行 >>> 后输入 China * 3 回车键后会复制 China 这个字符串 3 次,输出显示。

操作符 ** 可以用于求指数,操作符 // 用于整除。

流程控制跟其他程序设计语言差不多,if 、while 、for 这些都是有的。

用 def 关键字后跟函数名和参数完成函数的定义,比如定义一个函数 say_hello ,打印输出一行字符串。

def say_hello(name):
print('Hi, ' + name)

#调用 say_hello 函数
say_hello('Eric')

江湖中之所以有「人生苦短,我用 Python」的说法,是因为 Python 有大量的库可供使用,不必重复制造轮子,使用 import 关键字引入这些库的模块即可,好像 Java 也是这么干的 ,也有些类似 C# 的 using 。

异常处理使用 try…except 来完成。

有三个数据类型值得注意,它们分别是列表、元组、字典。

列表「list」是一个值的序列,有点类似其他程序设计语言中的数组,是一种以下标 0 开始的有序值的集合,这些有序值称为列表项。针对列表有一些操作,如以切片的方式获得子列表,增加列表项,插入列表项,删除列表项,排序等。可以视列表为一个「可变的」数据类型。列表使用方括号 []定义。

元组「tuple」跟列表很类似,所不同的是元组用圆括号()定义,另外比较重要的是元组初始化后是不可改变的。

字典「dict」也是一种多值的集合,与列表相比,字典的索引「下标」可以使用多种不同的数据类型,在字典中索引「下标」被称为键,字典是一种键值对的多值集合数据类型。另外,字典是非有序的。字典使用花括号{}定义。

以上是对 Python 的一些初步认识,学习一门程序设计语言唯一的方法就是将这门程序设计语言在实际项目中投入使用,通过使用中的刻意练习获得提高。把一门程序设计语言学到用它可以进行专职工作可能需要不短的时间,但是学会它并简单的写一点能够替代重复性工作的代码还是相对较容易的。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号