关于python论文_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用于指定索引起始值,不写默认是0

print (i ,w)

2 博主

3 是

4 一个

5 帅哥

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值