正则表达式
re.search(regex, string)
string中匹配到regex返回match对象,否则返回None。
import re
text_string = '我吃饭了,你吃了吗。我也吃了。那好吧。'
regex = '吃'
p_string = text_string.split('。')
for line in p_string:
if re.search(regex, line) is not None:
print(line)
re.findall(regex, string)
Numpy使用详解
提供以下功能:
- 创建Numpy数组
- 获取Numpy中数组的维度
- Numpy数组索引与切片
- Numpy数组比较
- 替代值
- Numpy数据类型转换
- Numpy的统计计算方法
创建数组
Numpy最核心的数据结构是ndarray,ndarray代表的是多维数组。
一位数组通常称为向量,二维数组通常称为矩阵。
numpy.array()中可以直接放入一维列表或二维矩阵等。
获取Numpy中数组的维度
numpy.arange(n)生成0到n-1的数组
numpy.reshape(row, column)自动构建一个多行多列的array对象
array.shape获取数组的维度
获取本地数据
numpy.genfromtxt("prices.csv", delimiter=“数据分隔符”)从文本中读取数组
numpy数组的数据必须是相同类型的
numpy.dtype可以获得数据类型
正确读取数据
numpy.genfromtxt("prices.csv", dtype='U75', skip_header = 1, delimiter=“数据分隔符”)
dtype选择数据类型,skip_header选择跳过开头多少行
Numpy数组索引
支持list一样的定位操作例如:matrix[0, 1],选择matrix的第0行第1列。
切片
支持像list一样的切片操作:
matrix[:,1]所有行,列为1
matrix[:, 0: 2]所有行,列为0,1
matrix[1: 3, :]行为1,2,所有列
matrix[1: 3, 0: 2]行为1,2,列为0,1
数组比较
import numpy as np
matrix = np.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = (matrix[:, 1] == 25)#按元素比较,可以&或者|
print(second_column_25)
#[False, True, False]
print(matrix[second_column_25, :])
#[20, 25, 30]
vector = np.array([5, 10, 11, 12])
equal_to_five_and_ten = (vector == 5) & (vector ==10)
print(equal_to_five_and_ten)
#[True, True, False, False]
替代值
import numpy as np
vector = np.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
vector[equal_to_ten_or_five] = 50
print(vector)
#[50 50 15 20]
matrix = np.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = matrix[:, 1] == 25
matrix[second_column_25, 1] = 10
print(matrix)
"""
[[ 5 10 15]
[20 10 30]
[35 40 45]]
"""
将空置替换成‘0’
import numpy as np
matrix = np.array([
['5', '10', '15'],
['20', '25', '30'],
['35','40','']
])
second_column_25 = (matrix[:, 2] == '')
matrix[second_column_25, 2] = '0'
print(matrix)
"""
[['5' '10' '15']
['20' '25' '30']
['35' '40' '0']]
"""
数据类型转换
数据类型可通过参数dtype设定,也能够通过astype()转换类型
比如把string转换成float
import numpy as np
vector = np.array(["1", "2", "3"])
print(vector)
#['1' '2' '3']
vector = vector.astype(float)
print(vector)
#[1. 2. 3.]
Numpy的统计计算方法
sum()计算数组元素和。
mean()计算数组元素和。
max()计算数组最大值。
结果都为一维数组,可以指定按行或列计算,添加参数axis = 1,计算行,结果以列展示,axis = 0,计算列,结果以行展示。
import numpy as np
vector = np.array([5, 10, 15, 20])
print(vector.sum())
#50
matrix = np.array([
[5, 10, 15],
[20, 10, 30],
[35, 40, 45]
])
print(matrix.sum(axis=1))
#[ 30 60 120]
print(matrix.sum(axis=0))
#[60 60 90]
网友评论