-
Python之WordCloud词云库
WordCloud(词云)是Python中一个非常优秀的第三方词云展示库,WordCloud以词语为基本单位,根据你给出的字符串,对词频进行统计,然后以不同的大小显示出来。说的直接点就是它可以更加直观和艺术的实现词频的可视化。 首先,逻辑上来说,生成一个漂亮的词云文件主要以如下3个过程来完成: 配置对象参数 加载词云文本 输出词云文件 (如果不加说明默认的图片大小为400 * 200) 我们看下代码实例: from pathlib import Path from wordcloud…
-
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,…
-
在matplotlib中创建子图的多种方式
在用Matplotlib绘制图像时,有时候需要从多个角度对数据进行对比。为此子图的概念便提了出来,子图可以在较大的图形中同时放置一组较小的坐标轴。这些子图可能是画中画、网格图,或者是其他更复杂的布局形式。 创建子图常用的可以有如下三种方式。 使用add_subplot()面向对象的方式来创建子图 使用面向对象的方式创建子图前,需要创建一个figure对象,如fig = plt.figure(),然后在图像布局中绘制子图,下列例子中,我们用fig.add_subplot(221)绘制了2行2列子图…
-
路径处理库pathlib使用详解
在编程中处理文件的读写操作时免不了要和文件路径打交道,甚至有时候为了完成某些场景功能会变的有些繁琐,以前在Python中操作文件路径,我们更多的时候是使用os模块。 而到了Python3时代后,Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单。甚至可以说pathlib已经可以完全替代os.path,它完全采用面向对象的编程方式,因为Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径),其语义适用于…
-
匿名函数lambda
在Python中有个匿名函数特性非常的便捷和有用,用关键字lambda就可以声明一个匿名函数,所以很多时候直接称呼为lambda函数。 每次介绍新特性的时候,我们都要反问什么是lambda函数呢?因为又叫匿名函数,所以是指没有声明函数名称的函数,它和平时我们定义普通函数使用def关键字不同, lamda函数的声明语法如下: lambda argument_list: expression 其中,lambda是Python预留的关键字,argumentlist和expression由用户自定义…
-
python之datetime模块
Python的时间管理模块中除了time模块外还有非常好用的datetime模块,但不得不说的是有一点非常令人困扰,因为在datetime模块中有一个time对象,而time模块本身还有一个函数叫time()。其实Datetime比time高级了不少,可以直接理解为datetime是基于time进行了封装,提供了更多实用的函数。 datetime模块定义了下面这几个类: date:表示日期的类。常用的属性有year, month, day。 time:表示时间的类。常用的属性有hour, min…
-
python之time模块
在编程中经常需要花费大量的精力来处理日期和时间。在Python有许多关于日期时间的内置库可以帮助我们减轻不少处理时间的工作,所以这次先从time模块介绍开始。 需要注意的是在time模块中的大多数函数是调用了所在平台C library的同名函数, 所以要特别注意有些函数是平台相关的,可能会在不同的平台有不同的效果。另外一点是,由于是基于Unix Timestamp,所以其所能表述的日期范围被限定在 1970 – 2038 之间,如果你写的代码需要处理在前面所述范围之外的日期,那可能需要考虑使…
-
关于Python鸭子类型
Python对实现多态性的要求很宽松,这就代表我们可以对不同对象调用同名的操作,甚至不用关注和谐对象的类型是什么,我们称这样的方式叫做鸭子类型。说的再通俗一点,就是如果某个对象的形状像鸭子,走的像鸭子,叫声像鸭子,那么就可以称这个对象是鸭子。当然这是通俗的解释,python中的鸭子类型也是这个道理,我们用实例解释一下。 下面我们定义了一个父类名为Quote,它含有两个who和says方法,以及定义了两个子类QuestionQuote和ExclamationQuote,这两个子类中都声明了says…
-
@classmethod与@staticmethod区别
在Python中有3种方式定义类方法分别是常规方式、@classmethod修饰方式、@staticmethod修饰方式。 接下来分别对3种不同方式的定义举例说明。 普通方法: 其实就是需要操作一些实例独有的属性,是实例而不是类。第一个参数一般是隐式地将实例传递给self参数。 class People(): def __init__(self, name, gender): self.name = name self.gender = gender…
-
Python常用高阶函数
高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。 为了便于理解,我们从实际例子来看看函数当做参数被传递到另个函数是什么样的。我们把abs()函数赋值给了f变量,接下来你就可以像使用abs()函数本身那样使用f变量了,区别只是换了个名字而已。 # 将求绝对值的abs函数赋值给f变量 f = abs # f变量等同于abs函数的功能和性质,区别只是换了个别名 f(-123) # 输出内容: # 123 我们来查看下…