print(’{0:2d} {1:3d}’.format(0,1)) {0:02d} 第一个0对应format的0位置的数据 第二个0表示两位十进制数字的字符串,不够两位用0填充 print(’{0:2d} {1:3d}’.format(0,1)) 可写成print(’{:2d} {:3d}’.format(0,1))
ord() 转字母为对应的ASCII码
各种进制之间相互转化
int('0x17', 16) # 16进制转化为10进制 23
int('101010',2) # 二进制转化为10进制
bin(42) # 十进制转化为2进制 '0b101010'
oct(10) # 十进制转化为8进制'0o12'
hex(23) # 十进制转16进制 '0x17'
可以看到,转化为2/8/16进制都有自己专门的函数,他们都支持将10进制转化为各自进制数; 而10进制使用int加参数指定从多少进制转化而来。这样以10进制为中间变量就可以实现各个进制数之间的转化。 如果我们想看各种编码对应的二进制数是多少,十进制数是多少呢,要对b \u \x这样的东西进行处理。 首先,看unicode的16/10/2进制对应数值
s = "中文"
" ".join("{:02x}".format(ord(c)) for c in s) # 16进制 '4e2d 6587'
" ".join("{:d}".format(ord(c)) for c in s) # 10进制 '20013 25991'
" ".join("{:b}".format(ord(c)) for c in s) # 二进制 '100111000101101 110010110000111'
上面代码的原理是 循环中的每个c对应’\u4e2d\u6587’中的\u4e2d和\u6587 ord是可以将\u前缀的16进制数识别出来并转化为8进制数 用format再将八进制数指定格式输出成16进制数,这两步相当于去掉了\u join将得到的16进制值用空格拼在一起 下面转化为10进制、二进制只是把format输出格式换了 “::::”.join? for c int s 遍历的c之间用::::来连接
生成随机数:
np.random.seed(n) 控制两次随机生成的数相不相同
np.random.seed(n)函数用于生成指定随机数。 把seed()中的参数比喻成“堆”;eg. seed(5):表示第5堆种子。 只调用一次seed(),两次的产生随机数不同
import numpy as np
np.random.seed(1)
L1 = np.random.randn(3, 3)
L2 = np.random.randn(3, 3)
print(L1)
print(L2)
np.random.seed(1)
L1 = np.random.randn(3, 3)
np.random.seed(1)
L2 = np.random.randn(3, 3)
print(L1)
print(L2)
numpy.random.randn() 控制生成几维 什么分布的数据
https://blog.csdn.net/u012149181/article/details/78913167
x_ticks = np.linspace(-5, 4, 10) # 产生区间在-5至4间的10个均匀数值
x=np.random.randint(0,100,100)#生成【0-100】之间的100个数据,即 数据集
##### 画图--曲线图(x,y)plt.plot(x,y)
plt.plot(x,y)
plt.show()
https://zhuanlan.zhihu.com/p/258106097
##### 画图--直方图(把数据按照所属的范围归类 画直方图)plt.hist(a,bins= 20)
设置区间
#一个参数 默认起点0,步长为1 输出:[0 1 2] a = np.arange(3)
#两个参数 默认步长为1 输出[3 4 5 6 7 8] a = np.arange(3,9)
#三个参数 起点为0,终点为3,步长为0.1 输出[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9] a = np.arange(0, 3, 0.1)
把数据按区间分类
plt.hist(x,bins,color=‘fuchsia’,alpha=0.5)#alpha设置透明度,0为完全透明
a = np.random.rand(100) plt.hist(a,bins= 20) #把数值进行20等分 #在构建直方图之前,我们需要先定义好bin(把值分成多少等份),也就是说我们需要先把连续值划分成不同等份,然后计算每一份里面数据的数量 fig, axes = plt.subplots(2, 2) # 设置生成图片的大小 此处是一个2*2的图
plt.ylim(0,15) #限制y轴高度:0→15 plt.legend() #使图片的信息设置生效 plt.xlabel(“x-axis”) #设置x轴的标签 plt.ylabel(“y-axis”) #设置y轴的标签 plt.xlim(0,100)#设置x轴分布范围
#运行 #当前shell export MPLBACKEND=Agg #只为当前脚本test.py MPLBACKEND=Agg python test.py
import matplotlib matplotlib.use(‘Agg’)
https://zhuanlan.zhihu.com/p/111108841
|