Python基础(随笔)
博主在用python的时候遇到的一些函数,就随笔记录下来了,以便日后查阅方便。
当然这篇博客是在不断更新的,因为遇到的东西也特别多嘛,嘿嘿。
numpy.meshgrid
从坐标向量返回坐标矩阵。
在给定一维坐标阵列x1、x2、…、xn的情况下,在N-D网格上对N-D标量/向量场进行向量化计算,生成N-D坐标阵列。
>>> nx, ny = (3, 2)
>>> x = np.linspace(0, 1, nx)
>>> y = np.linspace(0, 1, ny)
>>> xv, yv = np.meshgrid(x, y)
>>> xv
array([[0. , 0.5, 1. ],[0. , 0.5, 1. ]])
>>> yv
array([[0., 0., 0.],[1., 1., 1.]])
>>> xv, yv = np.meshgrid(x, y, sparse=True) # make sparse output arrays
>>> xv
array([[0. , 0.5, 1. ]])
>>> yv
array([[0.],[1.]])
ravel()、flatten()、squeeze(),reshape()
numpy中的ravel()、flatten()、squeeze()都有将多维数组转换为一维数组的功能,区别:
ravel():如果没有必要,不会产生源数据的副本
flatten():返回源数据的副本
squeeze():只能对维数为1的维度降维
>>>x = np.array([[1, 2, 3], [4, 5, 6]])
>>>x.ravel()
array([1, 2, 3, 4, 5, 6])>>>x.flatten()
array([1, 2, 3, 4, 5, 6])>>>a=np.array([[ 1],[2],[3]])
>>>a.squeeze( )
array([1, 2, 3])>>>x.reshape(2,3)
array([[1, 2, 3],[4, 5, 6]])
>>>x.reshape(2,-1)#-1可根据前面行数自动计算
array([[1, 2, 3],[4, 5, 6]])
np.ma.masked_where
对满足条件的数组进行掩码。
当条件为真时,以数组形式返回a。条件的任何屏蔽值也会在输出中屏蔽。
>>> import numpy.ma as ma
>>> a = np.arange(4)
>>> a
array([0, 1, 2, 3])
>>> ma.masked_where(a <= 1, a)
masked_array(data=[--, --, 2, 3],mask=[ True, True, True, False],fill_value=999999)
>>> c = ma.masked_where(a <= 2, a)
>>> c
masked_array(data=[--, --, --, 3],mask=[ True, True, True, False],fill_value=999999)
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],mask=[False, True, True, False],fill_value=999999)
>>> a
array([0, 1, 2, 3])
>>> c = ma.masked_where(a <= 2, a, copy=False)#是否复制参数的效果。
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],mask=[False, True, True, False],fill_value=999999)
>>> a
array([99, 1, 2, 3])>>>d=[1,2,2,1]
>>>ma.masked_where(c==3,d)
masked_array(data=[99, --, --, --],mask=[False, True, True,True],fill_value=999999)
astype 转换数据类型
>>>a=np.array([True,False,1.36,5.68,9.99])
>>>a.astype(np.int32)
array([1, 0, 1, 5, 9])
np.cumsum()
>>>a=np.array([np.arange(5),np.arange(0,-5,-1),[1,1,1,1,1]])
>>>a
array([[ 0, 1, 2, 3, 4],[ 0, -1, -2, -3, -4],[ 1, 1, 1, 1, 1]])>>>np.cumsum(a)#0,0+1,0+1+2,0+1+2+3,****
array([ 0, 1, 3, 6, 10, 10, 9, 7, 4, 0, 1, 2, 3, 4, 5],dtype=int32)>>>np.cumsum(a,axis=1)
array([[ 0, 1, 3, 6, 10],[ 0, -1, -3, -6, -10],[ 1, 2, 3, 4, 5]], dtype=int32)>>>np.cumsum(a,axis=0)
array([[0, 1, 2, 3, 4],[0, 0, 0, 0, 0],[1, 1, 1, 1, 1]], dtype=int32)
np.argmax() 返回数组中
import numpy as np
a = np.array([[1, 5, 5, 2],[9, 6, 2, 8],[3, 7, 9, 1]])
b=np.argmax(a, axis=0)#对二维矩阵来讲a[0][1]会有两个索引方向,第一个方向为a[0],默认按列方向搜索最大值
print(b)#[1 2 2 1] 这是返回的索引值
c=np.argmax(a, axis=1)#现在按照a[0][1]中的a[1]方向,即行方向搜索最大值,
print(c)#[1 0 2]
assert()函数的作用
断言函数是对表达式布尔值的判断,要求表达式计算值必须为真。可用于自动调试。如果表达式为假,触发异常;如果表达式为真,不执行任何操作。
assert(6 == 6)
assert(5 > 1)
a = "hello"
b = "hello"
assert(a == b)
assert()中表达式都为真,故程序正常执行,不会报错,也不会有输出
当我们的数组是list类型的时候,可直接进行比较。如下我们使用assert(a==b)判断a,b是否相等,可以顺利通过
a = [0, 1, 2, 3, 4]
b = [0, 1, 2, 3, 4]
assert(a == b)
a,b为numpy.array类型时,需要采用下列方式:
import numpy as np
a = np.arange(10)
b = np.arange(10)
assert(a.all() == b.all())
enumerate()使用
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
list1 = ["博主", "是", "一个", "帅哥"]
for i in range (len(list1)):print (i ,list1[i])
0 博主
1 是
2 一个
3 帅哥
list1 = ["博主", "是", "一个", "帅哥"]
for i,w in enumerate(list1,2):#后面的2用于指定索引起始值,不写默认是0print (i ,w)
2 博主
3 是
4 一个
5 帅哥
Python基础(随笔)相关推荐
- python基础编程练习题_Python随笔18:Python基础编程练习题1~2
Python基础练习题1 求100之内自然数中最大的能被17整除的数. 解答:既然是求100以内的最大的数,可以使用range函数,且反向遍历.我们不必遍历完范围之内所有的数,因为第一个就是最大的,也 ...
- python练习_Python随笔31:Python基础编程练习题27~28
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题27:与7无关的数 如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为 ...
- python入门编程题库-Python随笔30:Python基础编程练习题25~26
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题25:合并两个列 ...
- python split函数 空格_Python随笔29:Python基础编程练习题23~24
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...
- python基础编程练习题,Python随笔27:Python基础编程练习题19~20
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python基础练习题19:求连续自然数之和 求三组连续自然数的和:求出1到10.20到30和35到45的三个和. 解答:求的是 ...
- python命名规则数字开头的成语_day01 Python基础
课堂随笔: python基础 一 什么是编程语言? 二 计算机组成部分 CPU 内存 外存 输入设备 输出设备 三 安装与使用 1.安装py thon解释器 2.安装pycharm编辑器 3.创建py ...
- python 基础知识之(numpy、pandas、matplotlib、tensorflow)
1.Numpy库: 参考网页 1.1创建Numpy变量 创建一个 ndarray 只需调用 NumPy 的 array 函数即可:numpy.array(object, dtype = None, c ...
- python基础内容表达式_01-python基础之python介绍、三元表达式
本节参考博客 备注:本系列博客除特别标注,默认的环境为python3 学习方法 1. 上课 上课听课的时候只认真听讲,跟着老师走,不要做笔记,如果有重要的知识点,在练习时间再做对应的练习,把重要的知识 ...
- f是一个python内部变量类型,Python基础变量类型——List浅析
Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...
- python 等号报错_Python学习----Python基础
Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...
最新文章
- pyqt5 QtDesigner文件打开位置
- 下载安装 Apache(Windows 64位)
- 微信小程序日期选择器
- 04 Django之模板系统
- 字典树-01字典树基础
- 树形结构与关系数据库之闭包表
- Getting started with caffe questions answers (摘选)
- JAVA继承类phone_【Java基础】类-----继承
- java处理超大csv文件_比较 csv 文件中数据差异
- VO、DTO、POJO、PO的区别
- 【Unity】EasyTouch5触屏检测
- Linux 之 CentOS 7.2 安装 Java JDK
- PMP试题 | 每日一练,快速提分 8.5
- 微信公众号网页授权登录
- 计算机专业学生参加igem,喜讯:深圳大学iGEM团队再获金奖,并获得最佳单项奖,为今年大中华地区iGEM参赛队伍最佳成绩!-深圳大学生命与海洋科学学院...
- 云计算技术与应用 - 知识点
- 机器学习实战-预测数值型数据:回归
- SaaS产品SEO完整指南
- 华为交换机SNMP读取LLDP邻居信息的特殊配置
- libconfig c语言实例
热门文章
- 【debug】python3安装win32com模块
- Linux通过SSH实现免密登录
- MySQL5.5.15_linux下mysql-5.5.15安装详细步骤
- 图像形状特征提取c语言,OpenCV_局部图像特征的提取与匹配_源代码
- linux xenserver教程,Linux虚拟化之XenServer的安装与配置管理
- 第三周博客作业西北师范大学|李晓婷
- LVS Nginx 负载均衡区别
- 洛谷 P1183 多边形的面积
- 【leetcode dp】629. K Inverse Pairs Array
- StringUtils工具类说明