python基础知识 查漏补缺

python基础知识 查漏补缺

0、改变工作路径
os包
第10条

1、函数中的参数是形参,如果调用是不写关键字,默认按顺序把参数放进去。如果写了关键字,可以调换。函数中如果有return,才能赋值 a=func_()
2、python 循环变量不需要加end,因为python代码前面的空格相当于循环体
3、条件分支,条件最好互斥。否则,那个条件先满足,执行那个条件,后面条件不满足
if condition1:
print(‘1’)
elif condition 2:
print(‘2’)
4、文档字符串 help(func_)可以打印文档说明的字符串’’‘注释’’’

Def func_():
	"'注释"'
	Pass

5、文件异常处理

#python异常处理
#使用try-except语句,加入try出现了异常,则执行except下面语句

try:
	print '1' 
except NameError:
	print '2'

NameError是异常类型,可以在python报错信息中找到’

6、 python 画图

7、numpy库

  • np包计算远比python平台下math包计算速度快,多元回归使用numpy包最快,其他调用也可以,但是速度不够快。尤其是调参。
  • 基于a对象进行函数计算得到的,需要加()。而对象的属性不加括号()。a.min()输出数值,a.min不加()的时候,返回值是一个min函数,不是数值。
  • numpy库中函数
a = np.array([1,2,3,4,5])
#a.dtype 查看数据类型
a.Tab键,产看常用函数
a.cumsum() #累计求和
a.prod()#累计乘积
a.min()
#输入矩阵
c = np.array([1,2],[3,4])
c.shape #查看形状
#linespace() 线性一维数组
#logspace() 非线性数组
  • range(11)与np.arange(11),np.arange()函数类似python arange()函数,两者的不同在于后者可以支持非整数的步长。range(0,10,1)/10计算下来的步长是非整数,可以转换得到 np.arange(0,1,0.1)
  • np.tan([1,2,3,4])速度非常快,比np下面的math包快
#比较np包与python下的ufunc函数包
import numpy as mp
from time from time
#循环的简化写法
x = [i*0.01 for i in xrange(100000)]
start = time() #记录当前时间
for i,t in enumerate(x): #i,t取x数组的位置和数值,x是一个循环体,使用的是xrange,没有使用np.arange(100000)
 x[i]=math.sin(t)
print(time()-start)

x = [i*0.01 for i in xrange(100000)]
x = np.array(x) #将x转换为数组格式
start = time() #记录当前时间
np.sin(x) #不需要使用循环,np下面直接中向量的形式计算数值
print(time()-start)
print(np.sin(x))

8、y_train=train[‘SeriousDlqin2yrs’].astype(‘uint8’)
再深度学习中,数据量往往很大,所以在保障数据精度的同时还要考虑计算效率,虽然float64比float32有更高的精度,但一个在内存中占分别64和32个bits,也就是4bytes或8bytes.

具体来讲,float64占用的内存是float32的两倍,是float16的4倍;比如对于CIFAR10数据集,如果采用float64来表示,需要60000323238/1024**3=1.4G,光把数据集调入内存就需要1.4G;如果采用float32,只需要0.7G,如果采用float16,只需要0.35G左右;占用内存的多少,会对系统运行效率有严重影响;(因此数据集文件都是采用uint8来存在数据,保持文件最小)

9、ValueError: Unknown label type: ‘continuous’
未对数据进行处理,
会出现数据label错误,ValueError: Unknown label type: ‘continuous’
解决方法: 使用.astype(‘int’) 将label转换为int型
knn_class.fit(x_train, y_train.astype(‘int’))

10、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值