(扩展):numpy.array(object, dtype=None, copy=True, order='K',subok=False, ndmin=0)
组合:
使用hstack函数实现数组横向组合:np.hstack((arr1,arr2))//左右堆叠
使用vstack函数实现数组纵向组合:np.vstack((arr1,arr2))//上下堆叠
使用concatenate函数实现数组横向组合:np.concatenate((arr1,arr2),axis = 1))//左右堆叠
使用concatenate函数实现数组纵向组合:np.concatenate((arr1,arr2),axis = 0))//上下堆叠
分割:
使用hsplit函数实现数组横向分割: np.hsplit(arr1, 2)
使用vsplit函数实现数组纵向分割: np.vsplit(arr, 2)
使用split函数实现数组横向分割: np.split(arr, 2, axis=1)
使用split函数实现数组纵向分割: np.split(arr, 2, axis=0)
np.random.uniform(low,high,size)
参数说明:
low:生成元素值的下界,float类型,默认值为0
high:生成元素值的上界,float类型,默认值为1
size:输出样本的数目,可以指定一个值,也可指指定大于等于两个值
返回对象:ndarray类型,形状为size中的数值指定,其元素个数为size指定的参数的乘积我们前面已经说过了rand()这个函数,它返回的元素值是服从0-1的均匀分布,那如果不想要生成的是0-1范围内的均匀分布,想要其它范围内的均匀分布怎么办呢。
uniform()实现了这个功能,它可以生成服从指定范围内的均匀分布的元素。其返回值的元素类型为浮点型。需注意的是元素值的范围包含low,不包含high。
举例:
import numpy as np
# 指定一个参数low
mat = np.random.uniform()
print(mat)
print(type(mat))
# 指定low和high,生成一个[low,high)的元素值
mat = np.random.uniform(low=5, high=10)
print(mat)
print(type(mat))
# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.uniform(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
mat = np.random.uniform(low=2, high=10, size=(3, 3, 2))
print(mat)
print(type(mat[0][0][0]))
参数名称 | 说明 |
object | 接收array。表示想要创建的数组。无默认。 |
dtype | 接收data-type。表示数组所需的数据类型。如果未给定,则选择保存对象所需的最小类型。默认为None。 |
ndmin | 接收int。指定生成数组应该具有的最小维数。默认为None。 |
1、字符串:
名称 | 说明 |
split(sep="", num=string.count(str)) | num=string.count(str)) 以 sep 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 |
S.strip([chars]) | 返回字符串的一个副本,删除前导和尾随字符。chars参数是一个字符串,指定要移除的字符集。如果省略或为None,则chars参数默认为删除空白字符。 |
S.lower() | 将字符串所有大写字符变为小写 |
S.isalnum() | 如果字符串至少有一个字符,并且所有字符都是数字或者字母,则返回true,否则返回false。 |
S.count(sub[,start[,end]]) | 返回在[start, end]范围内的子串sub非重叠出现的次数。可选参数start和end都以切片表示法解释。 |
replace(old, new [, max]) | 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。 |
lyric = 'The night begin to shine, the night begin to shine'
words = lyric.split() //默认空格分隔,返回列表
print(words)
words.count(words[1])
使用strip()方法去除开头和结尾的空白字符和换行符。然后,使用replace()方法将字符串中的换行符替换为空字符串。最后,输出提取到的文本"文慧"。
text = '/n 文慧\n '
text = text.strip().replace('\n', '')
print(text) # 输出:'文慧'
2、字典:
一、
NASDAQ_code = { 'BIDU':'Baidu', 'SINA':'Sina', 'YOKU':'Youku' } 1、键-值成对出现; 2、键不能重复; 3、键不可更改,值可修改; 4、键来索引值。
二、
NASDAQ_code = { 'BIDU':'Baidu', 'SINA':'Sina', 'YOKU':'Youku' }
重新赋值:NASDAQ_code['YOJKU'] = 'Yoku'
在字典后面添加多个键值对(update函数):NASDAQ_code.update({'FB':'Facebook','TSLA':'Tesla'})
删除某键值对:del NASDAQ_code['FB']
NASDAQ_code['FB’]
字典推导式:a = {i:i**2 for i in range(10)}
3、文件:
使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
读取函数:
模式 | 说明 |
f.close() | 关闭文件,记住用open()打开文件后需得关闭它,否则会占用系统的可打开文件句柄数。 |
f.flush() | 刷新输出缓存。 |
f.read([count]) | 读出文件全。若有count值,则读取count个字符 |
f.readline() | 读出一行信息。 |
f.readlines() | 读出所有行,也就是读出整个文件的信息。 |
f.write(string) | 把string字符串写入文件。 |
f.writelines(list) | 把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 |
参数:
访问模式 | 说明 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
访问模式 | 说明 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
//练习:正则表达式re 处理字符串
# 练习3:统计小说中的单词频次
import re
f = open('Walden.txt', 'r')
txt = f.read() # 读取进来的数据类型是字符串
f.close()
txt = txt.lower()
txt = re.sub('[,.?:"\'!-]', '', txt) # 去除小说中的标点符号
words = txt.split() # 单词分割
word_sq = {}
for i in words:
if i not in word_sq.keys():
word_sq[i] = 1
else:
word_sq[i] += 1
res = sorted(word_sq.items(), key=lambda x:x[1], reverse=True) # 排序
print(res)