Anders Wang


我所认识的每个人都是榜样,都有值得我去尊敬和学习的地方。


Tag: 技术博文


  1. 数据特征分析 - 帕累托分析法

    帕累托分析法是基于帕累托法则的一种分析法。 先来说说什么是帕累托法则,其原型是19世纪意大利经济学家帕累托所创的库存理论。帕累托运用大量的统计资料分析当时的一些社会现象,概括出一种关键的少数和次要的多数的理论,并根据统计数字画成排列图,后人把它称为帕累托曲线图。简单的说,帕累托法则其实就是我们常说的二八法则,在经济学定律中说的是80%的财富掌握在20%的人手中,而在运营中说的则是80%的贡献度来自于20%的用户。 而基于帕累托法则的帕累托分析法(Pareto Analysis)是制定决策的统计方…

    Python, 数据分析, 技术博文继续阅读

  2. 用yield关键字创建生成器

    Python使用 生成器(generator) 对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产生结果,因此它不会在内存中创建和存储整个序列,这也是生成器的主要好处。 什么是生成器? 生成器其实是一种特殊的迭代器(iterator),但是不需要像迭代器一样自己去实现__iter__()和__next__()方法,简单的说生成器是通过一个或多个yield表达式构成的函数,生成器是为迭代器产生数据的。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不…

    Python, 技术博文继续阅读

  3. Python中的迭代器与可迭代

    很多人在听到迭代器与可迭代这两个名词时往往会搞不清楚,甚至认为他们是一样的,但是实际上他们是不同的概念。 我们先来直观的区分这两者有什么不同。 可迭代 (iterable):如果一个对象具备有__iter__() 或者 __getitem__()其中任何一个魔术方法的话,这个对象就可以称为是可迭代的。其中,__iter__()的作用是可以让for循环遍历,而__getitem__()方法可以让实例对象通过[index]索引的方式去访问实例中的元素。所以,列表List、元组Tuple、字典Dict…

    Python, 技术博文继续阅读

  4. python的短逻辑

    python中的与(and)和或(or)都是短路的与或,短路指的是当通过第一个值能判断出结果时,就不再去查看第二个值了。 Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与(and)运算:对于与运算,由于要求两个都为True结果才为True,所以如果与运算的第一个值是False,这时无论第二个值是什么,最终结果都会是False。因此与运算的第一个值如果是False,则第二个值就不会再执行查看了。 print(True and True)…

    Python, 技术博文继续阅读

  5. 循环体与else语句

    大家一定非常熟悉else关键字语句,else通常是用来配合if语句使用的,但是在Python的else语句并不只能用在if语句之后,还可以用在循环语句甚至try异常处理语句中,这虽然不是什么秘密,但是很多人没有发现它的好处。 for & else 默认情况下,只有当for循环语句正常执行后,最后才会执行else语句。 for i in list("abcdefg"): print(i) else: print("I am 'else' expression.")…

    Python, 技术博文继续阅读

  6. Python变量的作用域

    Python程序有各种各样的命名空间,它指的是在该程序段内一个特定的名称是独一无二的,它和其它同名的命名空间是无关的。 在Python中每一个函数都有自己的命名空间,如果在函数体外部,也就是主程序范围内定义一个变量a,然后在函数体内也定义一个变量a,那么两者指带的是不同的变量。但是要知道的是场景总是多变的,假设我需要在函数体内也访问并修改一个定义在主程序范围内的变量是否可以呢? 先来看一个例子,我们在函数体外定义了一个变量name,我们在函数体内使用到了这个变量,最终在执行函数体时也可以正确获取…

    Python, 技术博文继续阅读

  7. 用wordcloud和jieba生成中文词云

    WordCloud是Python中一个非常优秀的第三方词云展示库,但是处理中文就不怎么能胜任,因为中文通常包含着一整句话,尽管在WordCloud里虽然也有process_text()方法用于把很长的文字做分隔,但这个方法本身是根据英文文本分词设计的,所以对于中文字的展示必须要配合更适合做中文分词处理的jieba分词库来操作效果更佳,今天就拿这两个库配合一起展示下小说《三国演义》中,四个字成语中那些出现的频率最高。 先来看下最终的词云效果图,下面就是我们以武将张飞为模板形状产生的中文词云图,可以…

    Python, 技术博文继续阅读

  8. Python之jieba中文分词库

    jieba分词是Python中目前最受欢迎的中文分词库,他有许多特点,为了便于介绍直接引用官方介绍如下。 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 支持繁体分词 支持自定义词典 MIT 授权协议 jieba分词的原理是利用一个中文词库,确定汉字之间的关联概率,然后组成词组,形成分词结果,除了分词,用户还可…

    Python, 技术博文继续阅读

  9. Python之WordCloud词云库

    WordCloud(词云)是Python中一个非常优秀的第三方词云展示库,WordCloud以词语为基本单位,根据你给出的字符串,对词频进行统计,然后以不同的大小显示出来。说的直接点就是它可以更加直观和艺术的实现词频的可视化。 首先,逻辑上来说,生成一个漂亮的词云文件主要以如下3个过程来完成: 配置对象参数 加载词云文本 输出词云文件 (如果不加说明默认的图片大小为400 * 200) 我们看下代码实例: from pathlib import Path from wordcloud…

    Python, 技术博文继续阅读

  10. pandas中map和applymap及apply的区别

    在pandas中,针对于行或者列又或者是每个元素的操作很容易让人混淆,下面我们来看看分别对应的几个函数区别。 apply() apply()是pandas里DataFrame的函数,可以针对DataFrame中的行数据或列数据应用操作。 注意:这里的apply是应用到每一行或者每一列操作,有专门的axis可以指定,默认是axis=0. import pandas as pd import numpy as np frame = pd.DataFrame(np.random.rand(4,…

    Python, 技术博文继续阅读