博主在用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基础(随笔)相关推荐

  1. python基础编程练习题_Python随笔18:Python基础编程练习题1~2

    Python基础练习题1 求100之内自然数中最大的能被17整除的数. 解答:既然是求100以内的最大的数,可以使用range函数,且反向遍历.我们不必遍历完范围之内所有的数,因为第一个就是最大的,也 ...

  2. python练习_Python随笔31:Python基础编程练习题27~28

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题27:与7无关的数 如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为 ...

  3. python入门编程题库-Python随笔30:Python基础编程练习题25~26

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题25:合并两个列 ...

  4. python split函数 空格_Python随笔29:Python基础编程练习题23~24

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...

  5. python基础编程练习题,Python随笔27:Python基础编程练习题19~20

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python基础练习题19:求连续自然数之和 求三组连续自然数的和:求出1到10.20到30和35到45的三个和. 解答:求的是 ...

  6. python命名规则数字开头的成语_day01 Python基础

    课堂随笔: python基础 一 什么是编程语言? 二 计算机组成部分 CPU 内存 外存 输入设备 输出设备 三 安装与使用 1.安装py thon解释器 2.安装pycharm编辑器 3.创建py ...

  7. python 基础知识之(numpy、pandas、matplotlib、tensorflow)

    1.Numpy库: 参考网页 1.1创建Numpy变量 创建一个 ndarray 只需调用 NumPy 的 array 函数即可:numpy.array(object, dtype = None, c ...

  8. python基础内容表达式_01-python基础之python介绍、三元表达式

    本节参考博客 备注:本系列博客除特别标注,默认的环境为python3 学习方法 1. 上课 上课听课的时候只认真听讲,跟着老师走,不要做笔记,如果有重要的知识点,在练习时间再做对应的练习,把重要的知识 ...

  9. f是一个python内部变量类型,Python基础变量类型——List浅析

    Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...

  10. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

最新文章

  1. pyqt5 QtDesigner文件打开位置
  2. 下载安装 Apache(Windows 64位)
  3. 微信小程序日期选择器
  4. 04 Django之模板系统
  5. 字典树-01字典树基础
  6. 树形结构与关系数据库之闭包表
  7. Getting started with caffe questions answers (摘选)
  8. JAVA继承类phone_【Java基础】类-----继承
  9. java处理超大csv文件_比较 csv 文件中数据差异
  10. VO、DTO、POJO、PO的区别
  11. 【Unity】EasyTouch5触屏检测
  12. Linux 之 CentOS 7.2 安装 Java JDK
  13. PMP试题 | 每日一练,快速提分 8.5
  14. 微信公众号网页授权登录
  15. 计算机专业学生参加igem,喜讯:深圳大学iGEM团队再获金奖,并获得最佳单项奖,为今年大中华地区iGEM参赛队伍最佳成绩!-深圳大学生命与海洋科学学院...
  16. 云计算技术与应用 - 知识点
  17. 机器学习实战-预测数值型数据:回归
  18. SaaS产品SEO完整指南
  19. 华为交换机SNMP读取LLDP邻居信息的特殊配置
  20. libconfig c语言实例

热门文章

  1. 【debug】python3安装win32com模块
  2. Linux通过SSH实现免密登录
  3. MySQL5.5.15_linux下mysql-5.5.15安装详细步骤
  4. 图像形状特征提取c语言,OpenCV_局部图像特征的提取与匹配_源代码
  5. linux xenserver教程,Linux虚拟化之XenServer的安装与配置管理
  6. 第三周博客作业西北师范大学|李晓婷
  7. LVS Nginx 负载均衡区别
  8. 洛谷 P1183 多边形的面积
  9. 【leetcode dp】629. K Inverse Pairs Array
  10. StringUtils工具类说明