Python
bwqiang
日日新。
展开
-
使用游戏角色娜可露露讲述Python图像处理的方法(matplotlib、PIL和OpenCV)
Python中除了使用OpenCV以外,使用matplotlib和PIL这两个模块,也可以对图像进行处理。一、matplotlib1. 显示图片import matplotlib.pyplot as plt # 用于显示图片import matplotlib.image as img # 用于读取图片import numpy as npnakelulu = img.imread("娜可露露1.jpg") # 此时的娜可露露图片是一个数组print(nakelulu.shape) # 打原创 2020-12-04 00:02:10 · 423 阅读 · 0 评论 -
用《饿狼传说》中的不知火舞女神来验证python模块中imshow()和show()的区别
1. imshow()只负责对图像进行处理和显示格式,但不会显示在屏幕上。2. show()函数将图片显示到屏幕上。代码实现import matplotlib.pyplot as plt # 用于显示图片import matplotlib.image as img # 用于读取图片import numpy as npbuzhihuowu = img.imread("不知火舞.jpg") # 以数组的形式读取图片print(buzhihuowu.shape)# (740, 1000, 3)原创 2020-12-01 15:58:15 · 385 阅读 · 2 评论 -
Python中的 / 和 // 的区别
/表示浮点数除法,返回浮点结果。//表示整数除法,返回两数相除取整结果。代码实现(tjxt) C:\Users\包文强>pythonPython 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.&原创 2020-11-30 22:05:39 · 572 阅读 · 0 评论 -
Jupyter Notebook 使用教程(逐步更新)
如何使用Jupyter 如果电脑中有AnaConda,里边携带了Jupyter Notebook。 使用Jupyter: win + R打开终端 -> 输入 jupyter notebook。(1)在windows打开Jupyter。(2)打开网页版本。 选择自己要选择的环境: 进入到编辑界面,如下图: 单元格绿色代表内容可编辑状态(比如输入代码),蓝色代表单元格可操作状态(比如删除单元格,必须回到蓝色),而蓝色与绿色之间可以用Esc 和Enter 来切换。 Kern原创 2020-11-26 20:00:29 · 1779 阅读 · 0 评论 -
关于TypeError: integer argument expected, got float问题的解决办法
今天打算使用主成分分析法对MNSIT数据集进行降维,其中有一函数的目的是将每个手写数字图片拼接起来,组成一个大图。结果函数写好后,调用时没出现了下述错误:TypeError: integer argument expected, got float 截图如下: 于是查看了源代码: 主要的问题就是paste函数中的参数要求为正数,将(i / col) * each_width改为(i // col) * each_width即可解决问题。 拼接后的结果如下图所示:...原创 2020-11-30 21:59:04 · 2792 阅读 · 0 评论 -
pandas中的连接操作:join
1、通过索引连接DataFrameIn [296]: piror = pd.DataFrame({'key1' : ['k0', 'k1', 'k2', 'k3'], 'A' : ['A0', 'A1', 'A ...: 2', 'A3']})In [297]: rear = pd.DataFrame({'key2' : ['k0', 'k1', 'k2', 'k100'], 'B' : ['B0', 'B1', ' ...: B2', 'B100']})In [298]: p原创 2020-08-13 11:22:03 · 1106 阅读 · 0 评论 -
python中pandas用法总结
# 这两个模块密不可分In [1]: import numpy as npIn [2]: import pandas as pdpandas有两个主要数据结构:Series和DataFrame。SeriesSeries类似于一维字典的对象,是由一组数据和其对应的一组标签组成,即index和values组成,可以通过索引选取Series中的若干个元素。Series的创建:函数实现:pd.Series(list,index=[ ])In [3]: l = ['a', 'b', 'c', '原创 2020-08-13 00:48:42 · 796 阅读 · 0 评论 -
利用Python进行数据分析—— 时间序列(14)
日期和时间数据的类型及工具In [1]: import numpy as npIn [2]: import pandas as pdIn [3]: from datetime import datetimeIn [4]: now = datetime.now()In [5]: nowOut[5]: datetime.datetime(2020, 8, 10, 15, 41, 41, 676049)In [7]: now.year, now.month, now.dayOut[7]:原创 2020-08-10 17:59:29 · 229 阅读 · 0 评论 -
利用Python进行数据分析—— 绘图与可视化(13)
In [33]: import matplotlib.pyplot as pltIn [37]: %matplotlibUsing matplotlib backend: Qt5AggIn [35]: dataOut[35]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])使用plt.show()显示所有图片。图片与子图# 产生空白图片,显示出来In [40]: fig = plt.figure()In [51]: ax1 = fig.add_sub原创 2020-08-10 15:15:34 · 307 阅读 · 0 评论 -
利用Python进行数据分析——重塑和透视(12)
重塑和透视使用多层索引进行重塑statck(堆叠)该操作会“旋转”或将列中的数据透视到行。unstack(拆堆)该操作会将行中的数据透视到列。In [5]: data = pd.DataFrame(np.arange(6).reshape((2,3)), index=pd.Index(['Ohio', 'Colora ...: do'], name='state'), columns=pd.Index(['one', 'two', 'three'], name='number'))In [6原创 2020-08-10 10:42:04 · 169 阅读 · 0 评论 -
利用Python进行数据分析——数据规整:连接、联合与重塑(11)
分层索引In [1]: import numpy as npIn [2]: import pandas as pdIn [3]: data = pd.Series(np.random.randn(9), ...: index=[['a', 'a', 'a', 'b', 'b', 'c', 'c', 'd', 'd'], ...: [1,2,3,1,3,1,2,2,3]])In [4]: dataOut[4]:a 1 0.987523 2 -0.028413原创 2020-08-10 09:24:46 · 228 阅读 · 0 评论 -
利用Python进行数据分析——字符串操作(10)
字符串操作字符串对象方法In [124]: valOut[124]: 'a, b, guido'In [125]: val.split(',')Out[125]: ['a', ' b', ' guido']# 根据','划分出来的子串,使用x.strip()去掉空格部分In [126]: pieces =[x.strip() for x in val.split(', ')]In [127]: piecesOut[127]: ['a', 'b', 'guido']原创 2020-08-07 14:57:59 · 169 阅读 · 0 评论 -
利用Python进行数据分析——数据转换(9)
4.2 数据转换 下面主要说一下利用pandas对数据进行,过滤、清洗以及其他转换是另外一系列重要的操作。删除重复值 DataFrame的duplicated方法返回的是一个布尔值Series,这个Series反映的是每一行是否存在重复(与之前出现过的行相同)情况:In [1]: import numpy as npIn [2]: import pandas as pdIn [3]: data = pd.DataFrame({'k1' : ['one', 'two'] * 3 + ['t原创 2020-08-07 14:32:07 · 495 阅读 · 0 评论 -
利用Python进行数据分析——数据清洗与准备(8)
4、数据清洗与准备 在进行数据分析和建模的过程中,大量的时间花在数据准备上:加载、清理、转换和重新排列。这样的工作占用了分析师80%以上的时间。处理缺失值 pandas的目标之一就是尽可能无痛地处理缺失值。例如,pandas对象的所有描述性统计信息默认情况下是排除缺失值的。In [26]: string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'avocado'])In [27]: string_dataOut[27]:0原创 2020-08-06 16:21:57 · 258 阅读 · 0 评论 -
利用Python进行数据分析——数据载入、存储及文件格式(7)
3、数据载入、存储及文件格式 输入和输出通常有以下几种类型:读取文本文件及硬盘上其他更高效的格式文件、从数据库载入数据、与网络资源进行交互(比如Web API)。3.1 文本格式数据的读写 将表格型数据读取为DataFrame对象是pandas的重要特性。read_csv和read_table应该是使用最多的函数。In [35]: import pandas as pdIn [40]: df = pd.read_csv('ex1.csv')In [41]: dfOut[41]:原创 2020-08-06 14:23:15 · 267 阅读 · 0 评论 -
利用Python进行数据分析——pandas入门(6)
2.3 描述性统计的概述与计算 pandas对象装配了一个常用数学、统计学方法的集合。In [134]: df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], ...: [np.nan, np.nan],[0.75, -1.3]], ...: index=['a', 'b', 'c', 'd'], ...: columns=['one', 'two'])In [135]: dfOut[135]: one twoa原创 2020-08-04 14:31:40 · 145 阅读 · 0 评论 -
利用Python进行数据分析——pandas入门(5)
2.2 pandas基本功能2.2.1 重建索引 reindex是pandas对象的重要方法,该方法用于创建一个符合新索引的新对象。Series调用reindex方法时,会将数据按照新的索引进行排列,如果某个索引值之前并不存在,则会引入缺失值:In [1]: import pandas as pdIn [2]: obj = pd.Series([4.5, 5.3, -8.2, 4.9], index=['a', 's', 'q', 'f'])In [3]: objOut[3]:a原创 2020-08-04 11:12:39 · 198 阅读 · 0 评论 -
利用Python进行数据分析——pandas入门(4)
2、pandas入门 pandas所包含的数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas支持大部分NumPy语言风格的数组计算,尤其是数组函数以及没有for循环的各种数据处理。2.1 pandas数据结构介绍 pandas中需要熟悉两个常用的工具数据结构:Series和DataFrame。2.1.1 Series Series是一种一维的数组型对象,它包含了一个值序列(与NumPy中的类型相似),并且包含了数据标签,称为索引(index)。In [原创 2020-08-03 23:36:22 · 227 阅读 · 0 评论 -
利用Python进行数据分析——numpy基础(3)
1.4 线性代数 线性代数,比如矩阵乘法、分解、行列式等方阵数学,是所有数组类库的重要组成部分。In [129]: x = np.array([[1,2,3], [3,4,5]])In [130]: xOut[130]:array([[1, 2, 3], [3, 4, 5]])In [131]: y = np.array([[3,4,6],[7,2,9]])In [132]: yOut[132]:array([[3, 4, 6], [7, 2, 9]])原创 2020-08-03 16:27:19 · 154 阅读 · 0 评论 -
利用Python进行数据分析——numpy基础(2)
1.2 通用函数:快速的逐元素数组函数 通用函数,也可以称为ufunc,是一种在ndarray数据中进行逐元素操作的函数。某些简单函数接收一个或多个标量数值,并产生一个或多个标量结果,而通用函数就是对这些简单函数的向量化封装。 一元通用函数,例如:In [69]: arr = np.arange(10)In [70]: arrOut[70]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])In [71]: np.sqrt(arr) # 开平方Out[71]:原创 2020-08-03 15:53:14 · 182 阅读 · 0 评论 -
利用Python进行数据分析——numpy基础(1)
1、 NumPy基础:数组与向量化计算 NumPy,是Numerical Python的简称,它是目前Python数值计算中最为重要的基础包。使用numpy模块处理含有大量数组的数据非常有效:In [1]: import numpy as npIn [3]: arr = np.arange(1000000)In [4]: l = list(range(1000000))In [3]: %time for _ in range(10): arr * 2# Wall time: 28.9 msI原创 2020-08-03 13:57:15 · 206 阅读 · 0 评论 -
极简Python语法(11)
12.3 高级文件操作 Python内置的os模块除了可以对目录进行操作,还可以对文件进行一些高级操作,具体函数如表所示。12.3.1 删除文件 Python没有内置删除文件的函数,但是在内置的os模块中提供了删除文件的函数remove()。import osos.remove('message.txt') 如果删除的文件不存在,就会报错,所以使用如下代码:import ospath = 'message.txt'if os.path.exists(path): os.r原创 2020-08-02 18:03:55 · 163 阅读 · 0 评论 -
极简Python语法(10)
12.2 目录操作 Python中,并没有提供直接操作目录的函数或者对象,而是需要使用内置的os和os.path模块实现。常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录等,均是在windows系统下进行。12.2.1 os和os.path模块 在Python中,内置了os模块及其子模块os.path用于对目录或文件进行操作。首先需要使用import导入。import osprint(os.name)'''nt''' 上述代码输出为nt说明在windows系统下。原创 2020-08-02 17:12:54 · 340 阅读 · 0 评论 -
极简Python语法(9)
12、文件及目录操作 在变量、序列和对象中存储的数据是暂时的,程序结束后就会丢失。为了能够长时间地保存程序中的数据,需要将程序中的数据保存到磁盘文件中。Python提供了内置的文件对象和对文件,以及目录进行操作的内置模块。12.1 基本文件操作 在Python中,内置了文件(File)对象。使用open()函数打开文件,可以使用文件对象的write()方法向文件中写入内容,以及使用close()方法关闭文件等。12.1.1 创建和打开文件 使用open()函数打开文件,基本语法格式为:fi原创 2020-08-02 14:55:01 · 332 阅读 · 0 评论 -
极简Python语法(8)
11、异常处理及程序调试 C++或者是Java的编译器就可以捕获很多错误,但python语言只有程序运行后,才能捕获语法错误,因此,需要掌握一定的异常处理语句和程序调试方法。11.1 异常概述 有些异常是由于敲错导致的,这类错误多数产生的是:SyntaxError: invalidsyntax(无效的语法)。下表是python种常见的异常: 上面的表格,只做简单了解即可。11.2 异常处理语句 下面代码出现了错误:def division(): print('========原创 2020-08-02 00:09:21 · 193 阅读 · 0 评论 -
极简Python语法(7)
10.4 引用其他模块 在python中,还可以引用其他模块,包括使用标准模块和第三方模块。10.4.1 导入和使用标准模块 python中,自带了很多标准模块,使用import导入即可。例如:导入random模块。导入后,使用模块名调用其函数,也可以使用as其别名。import random as rdprint(rd.randint(10, 100))'''12''' 场景模拟: 实现一个用户登录页面,为了防止恶意破解,可以添加验证码。这里需要实现一个由数字、大写字母和小写字母原创 2020-08-01 22:00:58 · 302 阅读 · 0 评论 -
极简Python语法(6)
10.3 Python中的包 如果模块名重复,使用包(Package) 这个概念,是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下。简单的理解就是“文件夹”,只不过必须存在一个名为__init__.py的文件。10.3.1 Python程序的包结构 如下图所示:10.3.2 创建和使用包创建包 必须创建一个名为__Init__.py文件,里边可以没有内容。在某一个文件夹创建一个文件夹,里边有一个名为__Init__.py文件就可以了。例如,在该练习python中的文件夹原创 2020-08-01 21:38:01 · 184 阅读 · 0 评论 -
极简Python语法(5)
10、模块10.1 模块概述一个函数相当于一个积木,一个模块中可以包含很多函数。在Python中,一个扩展名为.py的文件就称为一个模块。通常把能够实现某一特定功能的代码放置在一个文件中作为一个模块,方便其他程序和脚本导入并使用。10.2 自定义模块创建模块将模块中相关的代码编写在一个单独的文件中,并且将该文件命名为“模块名+.py”。使用import导入模块import modulename as alias:导入模块,起别名在调用模块中的变量、函数、类时,需要在变量名、函数名或原创 2020-08-01 19:50:50 · 178 阅读 · 0 评论 -
极简Python语法(4)
9、面向对象程序设计9.1 面向对象概述一种设计思想。是指客观世界中存在的对象,具有唯一性。也可以是抽象的一个事物,具有自己的属性和行为。面向对象技术是一种从组织结构上模拟客观世界的方法。对象表示任意存在的事物。静态部分成为属性,动态部分称为行为。类是封装对象的属性和行为的载体。是具有相同属性和行为的一类实体被称为类。对象是类的实例。面向对象程序设计的特点封装、继承 和 多态(1)封装是面向对象编程的核心思想,将对象的属性和行为封装起来。类通常随客户隐藏其实现细节,就是封装的原创 2020-06-15 21:27:34 · 251 阅读 · 0 评论 -
极简Python语法(3)
8、函数8.1 函数创建和调用def filterchar(string): import re pattern = r'(黑客)|(抓包)|(监听)|(Trojan)' sub = re.sub(pattern, '@_@', string) print(sub)about = '我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。'filterchar(about)# 我是一名程序员,我喜欢看@_@方面的图书,想研究一下@_@。8.2 传递参数原创 2020-06-15 12:08:01 · 198 阅读 · 0 评论 -
极简Python语法(2)
7、Python中使用正则表达式7.1 正则表达式语法原创 2020-06-13 18:16:23 · 605 阅读 · 0 评论 -
极简Python语法(1)
1、Python语言基础显示变量的类型my_name = "bernardo"print(my_name)number = 1024nickname = "碧海苍梧"print(type(nickname), type(number)) // 显示变量的类型# <class 'str'> <class 'int'>变量类型转换money_all = 57.6 + 46.2 + 27.9print("商品总金额为:", str(money_all))pr原创 2020-06-11 22:31:12 · 378 阅读 · 0 评论