目录
一、numpy库的使用方法
1、利用numpy中的array()创建数组
import numpy as np #导入库numpy 命名为np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) #创建多维数组
c = np.array([1, 2, 3, 4]) #创建一维数组
print(a)
print (c)
[[1 2 3]
[4 5 6]
[7 8 9]]
[1 2 3 4]
2、利用numpy中的arange()创建数组
import numpy as np
a=np.arange(1,20,4)
b=np.arange(10)
c=np.arange(1,6)
print(a)
print(b)
print(c)
[ 1 5 9 13 17]
[0 1 2 3 4 5 6 7 8 9]
[1 2 3 4 5]
3、随机数组创建
import numpy as np
a=np.random.randn(3)
b=np.random.randn(3,2)
c=np.random.rand(5)
d=np.random.rand(2,3)
e=np.random.randint(1,3,4)
f=np.random.randint(1,5,(2,2))
print("a:",a)
print("b:",b)
print("c:",c)
print("d",d)
print("e:",e)
print("f:",f)
a: [-0.08651285 -0.66598846 -1.95221718]
b: [[ 0.80910325 0.27852996]
[ 1.26057639 0.07053796]
[ 1.48869689 -1.73556879]]
c: [0.26452326 0.87471068 0.36306038 0.95570711 0.29538408]
d [[0.05603988 0.6907821 0.33998311]
[0.08633272 0.54519208 0.59673932]]
e: [2 1 1 1]
f: [[1 2]
[4 1]]
4、查看数组属性
import numpy as np
arr=np.array([[1,2],[3,4],[5,6]])
arr1=arr.astype(float) #数组类型转换
print(arr.shape) #数组行列
print(arr.shape[0]) #数组行
print(arr.shape[1]) #数组列
print(arr.size) #数组元素个数
print(arr.dtype) #数组类型
print(arr1,arr1.dtype)
print(arr.ndim) #查看数组维度
(3, 2)
3
2
6
float64
[[1 2 3 4]
[5 6 7 8]]
int32
3
5、数组选取
1、一维数组选取
import numpy as np
arr=np.array([6,57,18,95,17,1,12])
print(arr[2])
print(arr[-2])
print(arr[2:])
print(arr[:2])
print(arr[1:6:3])
print(arr[::2])
print(arr[:2:])
print(arr[2::])
18
1
[18 95 17 1 12]
[ 6 57]
[57 17]
[ 6 18 17 12]
[ 6 57]
[18 95 17 1 12]
2、二维数组选取
import numpy as np
arr=np.array([[1,2,3,4],[21,31,41,51],[13,14,15,16],[6,7,8,9]])
print(arr[1,2])
print(arr[2])
print(arr[:,3])
print("1、",arr[1:3])
print("2、",arr[2:])
print("3、",arr[:2])
print("4",arr[:,3:])
print("5",arr[:,:2])
print("6",arr[1:3,2:4])
41
[13 14 15 16]
[ 4 51 16 9]
1、 [[21 31 41 51]
[13 14 15 16]]
2、 [[13 14 15 16]
[ 6 7 8 9]]
3、 [[ 1 2 3 4]
[21 31 41 51]]
4 [[ 4]
[51]
[16]
[ 9]]
5 [[ 1 2]
[21 31]
[13 14]
[ 6 7]]
6 [[41 51]
[15 16]]
6、数组重塑及转置
1、一维数组重塑
import numpy as np
arr=np.array([1,23,4,6,79,8])
a=arr.reshape(2,3)
b=arr.reshape(3,2)
print("a:",a)
print("b:",b)
a: [[ 1 23 4]
[ 6 79 8]]
b: [[ 1 23]
[ 4 6]
[79 8]]
2、二维数组重塑
import numpy as np
arr=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
a=arr.reshape(4,3)
b=arr.reshape(2,6)
c=arr.flatten()
d=arr.ravel()
print("a",a)
print("b",b)
print("c",c)
print("d",d)
a [[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
b [[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]
c [ 1 2 3 4 5 6 7 8 9 10 11 12]
d [ 1 2 3 4 5 6 7 8 9 10 11 12]
3、数组转置
import numpy as np
arr=np.array([[1,2,4,5],[6,7,8,9,],[12,3,21,11]])
print(arr.T)
print()
print(np.transpose(arr))
[[ 1 6 12]
[ 2 7 3]
[ 4 8 21]
[ 5 9 11]]
[[ 1 6 12]
[ 2 7 3]
[ 4 8 21]
[ 5 9 11]]
7、数组操作
1、添加数组元素
import numpy as np
arr=np.array([[1,2,3],[4,5,6]])
arr1=np.append(arr,[[7,8,0]])
print(arr1)
print()
print(np.append(arr,[[2,3,4]],axis=0))
print()
print(np.append(arr,[[1,2],[3,4]],axis=1))
print()
print(np.insert(arr,1,[3,4,8]))
print()
print(np.insert(arr,1,[7,8],axis=1))
print()
print(np.insert(arr,2,[8,2,3],axis=0))
[1 2 3 4 5 6 7 8 0]
[[1 2 3]
[4 5 6]
[2 3 4]]
[[1 2 3 1 2]
[4 5 6 3 4]]
[1 3 4 8 2 3 4 5 6]
[[1 7 2 3]
[4 8 5 6]]
[[1 2 3]
[4 5 6]
[8 2 3]]
2、删除数组元素
import numpy as np
arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(np.delete(arr,3))
print()
print(np.delete(arr,1,axis=0))
print()
print(np.delete(arr,2,axis=1))
[1 2 3 5 6 7 8 9]
[[1 2 3]
[7 8 9]]
[[1 2]
[4 5]
[7 8]]
3、缺失值处理
import numpy as np
arr=np.array([2,3,5,6,7,np.nan,8,9])
print(arr)
arr[np.isnan(arr)]=0
print()
print(arr)
[ 2. 3. 5. 6. 7. nan 8. 9.]
[2. 3. 5. 6. 7. 0. 8. 9.]
4、重复值处理
import numpy as np
arr=np.array([2,3,4,5,6,7,2,3,2,4,5,3,2,5,6,2])
print(np.unique(arr))
arr1,counts=np.unique(arr,return_counts=True)
print(counts)
[2 3 4 5 6 7]
[5 3 2 3 2 1]
5、数组的拼接及拆分
import numpy as np
arr=np.array([1,2,3,4,6,7,8,5,9,0,8,6])
arr1=np.array([[1,2,3,4],[3,4,7,8]])
arr2=np.array([[5,6,7,8],[8,9,10,12]])
print(np.concatenate((arr1,arr2),axis=0))
print()
print(np.concatenate((arr1,arr2),axis=1))
print()
print(np.hstack((arr1,arr2)))
print()
print(np.vstack((arr1,arr2)))
print()
print(np.hsplit(arr1,2))
print()
print(np.vsplit(arr2,2))
print()
print(np.split(arr,4))
print()
print(np.split(arr,[2,6]))
print()
print(np.split(arr,[2,4,5]))
[[ 1 2 3 4]
[ 3 4 7 8]
[ 5 6 7 8]
[ 8 9 10 12]]
[[ 1 2 3 4 5 6 7 8]
[ 3 4 7 8 8 9 10 12]]
[[ 1 2 3 4 5 6 7 8]
[ 3 4 7 8 8 9 10 12]]
[[ 1 2 3 4]
[ 3 4 7 8]
[ 5 6 7 8]
[ 8 9 10 12]]
[array([[1, 2],
[3, 4]]), array([[3, 4],
[7, 8]])]
[array([[5, 6, 7, 8]]), array([[ 8, 9, 10, 12]])]
[array([1, 2, 3]), array([4, 6, 7]), array([8, 5, 9]), array([0, 8, 6])]
[array([1, 2]), array([3, 4, 6, 7]), array([8, 5, 9, 0, 8, 6])]
[array([1, 2]), array([3, 4]), array([6]), array([7, 8, 5, 9, 0, 8, 6])]
6、数组运算
import numpy as np
arr1=np.array([[1,2,3],[2,3,4]])
arr2=np.array([[5,6,7],[8,9,5]])
print(arr1+arr2)
print()
print(arr1*arr2)
print()
print(arr1+3)
print()
print(arr2*2)
print()
print(arr1.sum(),arr1.sum(axis=0),arr1.sum(axis=1))
print()
print(arr1.mean(),arr1.mean(axis=0),arr1.mean(axis=1))
print()
print(arr1.max(),arr1.max(axis=0),arr1.max(axis=1))
[[ 6 8 10]
[10 12 9]]
[[ 5 12 21]
[16 27 20]]
[[4 5 6]
[5 6 7]]
[[10 12 14]
[16 18 10]]
15 [3 5 7] [6 9]
2.5 [1.5 2.5 3.5] [2. 3.]
4 [2 3 4] [3 4]
二、pandas库的使用方法
1、Series及DataFrame对象使用
1、Series对象
import pandas as pd
s=pd.Series(['足球','羽毛球','乒乓球','排球'])
s1=pd.Series(['足球','羽毛球','乒乓球','排球'],index=['a1','a2','a3','a4'])
s2=pd.Series({'b1':'足球','b2':'羽毛球','b3':'乒乓球','b4':'排球'})
print(s)
print(s1)
print(s2)
0