Python 学习及项目笔记

前言

近期在做的项目中有一些关于Python数据处理——Numpy的东西,以及一些Python的基本操作,在这里进行一些分享和记录吧,也记录一些自己掉进去过的坑,也希望能帮到大家啦。

本文环境:
Windows10+Anaconda(tensorflow on CPU)+Jupyter Notebook+Python 3.7.2

正文

取整操作
a.和C++一样的,对某个数值向下取整

import numpy as np #调用numpy库,之后不再赘述
x = np.pi #调用Numpy里面的pi数值
print(x)
print(int(x))
#3.141592653589793
#3

b.对某个数组的所有元素向下取整

import numpy as np
a=[1.2,2.2]
a=np.array(a)
a=np.floor(a)
print(a)
#[1. 2.]

数组创建
a.创建一个全都是True或False的bool型数组
b.创建一个给定数值的数组
c.深拷贝一个数组,这里呢建议大家在调用函数内的参数数组的时候,像这样深拷贝这样做,不然有可能搞错,变成浅拷贝,事情就会变得很麻烦。

A = np.full((N),False,dtype=bool)#a
AA = np.array([0,0,0,0,1])#b
R = np.array(R0)#c

d.创建一个全零数组

temp = np.zeros([1, N], dtype=np.float)
#dtype=:数据类型
#[1,N]:这个位置指定数组的shape

数组数据类型转换
astype
int32 to float64 完全可以,不会出现精度损失(本来就是精度低转高)
float64 to int32 高转低的话,精度损失嘛(实质上和上面np.floor操作类似的)
string to float64 如果字符串数组内是数字,则可以转化为数值类型

A_bool = A_bool.astype(float)

Numpy数组的其它操作
a.纵向合并np.vstack(),注意:括号内要合并的数组必须用中括号括在一起。
b.返回数组的转置np.transpose(),这个没啥好说的。
c.矩阵乘法np.multiply(),这个也没啥好说的

R0 = np.vstack([temp, tmp0])#a
R0 = np.transpose(R0)#b
dec_output = np.multiply(sigmoid_output, A_reg)#c

d.两个数组的对应元素是否相等np.equal(),返回一个数组,对应True or False
e.求数组均值np.mean()。
来个组合拳,来看看它是什么呢:

accuracy = np.mean(np.equal(dec, tx))
#先对dec和tx做对比,然后求均值
#这个就是看看dec和tx的吻合度,如果tx是机器学习中的label,dec是预测值的话,这样可以求准确度

f.求数组最大值对应索引np.argmax()
g.求数组由小到大的排序后的索引np.argsort()

ymax = np.argmax(y_pred)
ma1 = np.argsort(out1)

今天先更到这里吧~ March 20th,2020

你可能感兴趣的:(极化码与神经网络)