pycharm
撤销快捷键 Ctrl+z
注释快捷键 Ctrl+/
Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
split()方法语法:str.split(str=" ", num=string.count(str)).
#str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
#num -- 分割次数。
>>>ipaddr = "10.122.19.101 "
>>>print(ipaddr.split('.'))
['10', '122', '19', '101 ']
>>>ipaddr = "10.122.19.101 nn "
>>>print(ipaddr.split(' ',1))
['10.122.19.101', ' nn ']
此方法用于在列表末尾添加新的对象。
append()方法语法:list.append(obj)
#obj – 添加到列表末尾的对象。
#该方法无返回值,但是会修改原来的列表
>>>c= [1, 2, 3]
>>>d = 4
>>>y = c.append(d)
>>>print(y)
>>>print(c)
None
[1, 2, 3, 4]
二元形式pow(x,y)等效于使用幂运算符:x ** y。
三元形式pow(x,y,z),则将x ** y,取余z。 它的计算比使用pow(x,y)%z更有效。
>>>print(pow(10, 2))
>>>print(pow(-10, 3))
>>>print(pow(10, 2, 3))
100
-1000
1
>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6], [7, 8]])
>>> np.concatenate((a,b),axis=0)
[[1, 2],
[3, 4],
[5, 6],
[7, 8]]
>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6], [7, 8]])
>>> np.concatenate((a,b),axis=1)
[[1, 2, 5, 6],
[3, 4, 7, 8]]
>>> c = np.concatenate((a,b),axis=1)
>>> c
[[1, 2, 5, 6],
[3, 4, 7, 8]])
>>> c.shape
(2, 4)
np.reshape(-1)
>>>original = np.array([2, 4, 1, 3],[1, 2, 5, 2])
>>>orginal.shape
(2, 4)
>>>new_1 = orginal.reshape(-1)
>>>print(new_1)
[2, 4, 1, 3, 1, 2, 5, 2]
np.reshape(-1, 1)
>>>original = np.array([2, 4, 1, 3],[1, 2, 5, 2])
# 设定新排布的列数为1,行数为未知
>>>new_2 = orginal.reshape(-1, 1)
>>>print(new_2) # 新排布为(8,1)
[[ 2],
[ 4],
[ 1],
[ 3],
[ 1],
[ 2],
[ 5],
[ 2]]
np.reshape(1, -1)
>>>original = np.array([2, 4, 1, 3],[1, 2, 5, 2])
# 设定新排布的行数为1,列数为未知
>>>new_3 = orginal.reshape(1, -1)
>>>print(new_3) # 新排布为(1,8)
[2, 4, 1, 3, 1, 2, 5, 2]
np.reshape(-1, 2)
>>>original = np.array([2, 4, 1, 3],[1, 2, 5, 2])
# 设定新排布的列数为2,行数为未知
>>>new_4 = original.reshape(-1, 2)
>>>print(new_4) # 新排布为(4,2)
[[2, 4],
[1, 3],
[1, 2],
[5, 2]]
>>>a = np.array([[1, 2], [3, 4]])
>>>print(a)
>>>print(type(a))
>>>print(np.mean(a))
>>>print(np.mean(a, axis=0)) # axis=0,计算每一列的均值
>>>print(np.mean(a, axis=1)) # 计算每一行的均值
[[1 2]
[3 4]]
<class 'numpy.ndarray'>
2.5
[2. 3.]
[1.5 3.5]
>>>a = np.arange(9).reshape((3,3))
>>>print(a)
[[0 1 2]
[3 4 5]
[6 7 8]]
>>>b = np.ptp(a, axis=0) # axis=0 表示纵向
>>>print(b) # [6 6 6] # 6-0, 7-1, 8-2
6
>>>c = np.ptp(a, axis=1) # axis=1 表示横向
>>>print(c) # [2 2 2] # 2-0, 5-3, 8-6
2
a = np.arange(12).reshape((3, 4))
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(np.insert(a, 2, 100))
# [ 0 1 100 2 3 4 5 6 7 8 9 10 11]
b1 = np.arange(100, 104)
print(b1)
# [100 101 102 103]
print(np.insert(a, 1, b1, axis=0))
# [[ 0 1 2 3]
# [100 101 102 103]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(np.insert(a, 3, b1, axis=0))
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]
# [100 101 102 103]]
print(np.insert(a, [0, 2], b1, axis=0))
# [[100 101 102 103]
# [ 0 1 2 3]
# [ 4 5 6 7]
# [100 101 102 103]
# [ 8 9 10 11]]
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(np.insert(a, 1, 100, axis=1))
# [[ 0 100 1 2 3]
# [ 4 100 5 6 7]
# [ 8 100 9 10 11]]
c1 = np.arange(100, 103)
print(c1)
# [100 101 102]
print(np.insert(a, 1, c1, axis=1))
# [[ 0 100 1 2 3]
# [ 4 101 5 6 7]
# [ 8 102 9 10 11]]
print(np.insert(a, 3, c1, axis=1))
# [[ 0 1 2 100 3]
# [ 4 5 6 101 7]
# [ 8 9 10 102 11]]
>>>a = np.array([[1, 2], [3, 4]])
>>>print(a.ndim)
>>>print(a.shape)
>>>print(a.size)
2
(2,2)
4
>>>import numpy as np
>>>mat1 = np.array([[1, 2, 3],
[4, 5, 6]])
>>>mat2 = np.array([[1, 2],
[1, 2],
[1, 2]])
>>>np.dot(mat1, mat2) # numpy.dot()
array([[ 6, 12],
[15, 30]])
>>>mat1.dot(mat2) # x.dot(y)
array([[ 6, 12],
[15, 30]])
其实就是对一个矩阵的转置
>>>a=array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>>a.T
array([[1, 4, 7],
[2, 5, 8],
[3, 6, 9]])
numpy中默认的一维数组形式可能是
x = np.array([1,2,3,4])
此时对此数组进行转置操作 x.T 没用,因为转置操作只能用在二维数组上
要对其变为列向量,采用以下操作
x = np.array([x])
此时变为array([[1, 2, 3, 4]]) 二维数组,然后转置
>>>import numpy as np
>>>X1=np.array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
>>>length1=len(X1) #返回对象的长度 不是元素的个数,可以想象成数据长度/条数,即数据的行数
>>>print("length of X1:",length1)
length of X1: 3
>>>X2 = np.array([1, 2, 3, 4])
>>>length2=len(X2) #返回对象的长度 不是元素的个数,可以想象成数据长度/条数
>>>print("length of X2:",length2)
length of X2: 4
#一个参数 默认起点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)
>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a) # 计算全局标准差
1.1180339887498949
>>> np.std(a, axis=0) # axis=0计算每一列的标准差
array([ 1., 1.])
>>> np.std(a, axis=1) # 计算每一行的标准差
array([ 0.5, 0.5])