数据分析
DCLe
多看书,多练习,多锻炼
展开
-
numpy DataFrame
import numpy as npimport pandas as pd# 通过列表数据创建DFdata = [[80, 90], [85, 95], [90, 95], [80, 95], [95, 100]]df = pd.DataFrame(data, columns=['one', 'two'])# print(df)# 通过字典创建DF,字典的key代表列索引,字典的value代表行数据data1 = {'name': ['Jack', 'Bill', 'Lily', 'Kar原创 2021-10-12 09:45:45 · 669 阅读 · 0 评论 -
numpy插值
import numpy as npimport scipy.interpolate as siimport matplotlib.pyplot as mpmin_x = -50max_x = 50x = np.linspace(min_x, max_x, 15)y = np.sinc(x)mp.grid(linestyle=':')mp.scatter(x, y, s=60, color='dodgerblue', marker='o', label='Samples')#通过样本原创 2021-10-11 16:51:54 · 1783 阅读 · 0 评论 -
矩阵的奇异值
import numpy as npM = np.mat('4 11 14; 8 7 -2')print(M)U, Svd, V = np.linalg.svd(M, full_matrices=False)print(U)print(Svd)print(V)print(U * U.T)print(V * V.T)S = np.diag(Svd)print(S)print(U * S * V)原创 2021-10-11 10:49:55 · 159 阅读 · 0 评论 -
通用函数测试
import numpy as np# 通用函数ary = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])ary1 = np.clip(ary, 3, 7) # ary.clip(min = 3, max = 7)# print(ary1)ary2 = ary.compress(ary > 5) # ary[ary > 5]# print(ary2)mask = np.all([ary > 3, ary < 7], axis=0)#原创 2021-10-11 09:53:54 · 74 阅读 · 0 评论 -
斐波那契数列的矩阵解法
import numpy as np# F是斐波那契数列的特殊矩阵n = 5F = np.mat('1 1; 1 0')for i in range(n): print((F ** i)[0, 0])原创 2021-10-10 16:50:15 · 369 阅读 · 0 评论 -
numpy矩阵(二)
import numpy as npary = np.arange(1, 10).reshape(3, 3)print(ary, ary.shape, type(ary))m1 = np.matrix(ary, copy=True) # copy控制是否拷贝一份数据,影响数据共享,默认True是拷贝,不共享,数据独立print(m1, m1.dtype, m1.shape, type(m1))m2 = np.mat(ary) # 默认copy = False,数据共享print(m2, t原创 2021-10-10 16:46:10 · 102 阅读 · 0 评论 -
矩阵(一)
numpy 创建矩阵,矩阵运算import numpy as npary = np.arange(1, 10).reshape(3, 3)print(ary, ary.shape, type(ary))m1 = np.matrix(ary, copy=True) # copy控制是否拷贝一份数据,影响数据共享,默认True是拷贝,不共享,数据独立print(m1, m1.dtype, m1.shape, type(m1))m2 = np.mat(ary) # 默认copy = Fals.原创 2021-10-10 11:56:23 · 70 阅读 · 0 评论 -
函数矢量化
import numpy as npimport math as m# 函数矢量化def foo(x, y): return m.sqrt(x ** 2 + y ** 2)# x, y = 3, 4x = np.array([3, 4, 5])y = np.array([4, 5, 6])foo_vec = np.vectorize(foo) # 返回的是一个矢量化后的函数,可以进行矢量运算print(foo_vec(x, y))print(np.vectorize(fo原创 2021-10-10 11:44:07 · 249 阅读 · 0 评论 -
numpy 符号数组
import numpy as nplist1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]a = np.diff(list1)b = np.sign(list1)list2 = np.array([70, 80, 90, 60, 50, 80, 40, 70])c = np.piecewise(list2, [list2 < 60, list2 == 60, list2 > 60], [-1, 0, 1]) #源数组, 条件序列,取值序列print(a)pri原创 2021-10-10 10:49:55 · 132 阅读 · 0 评论 -
初始卷积(一)
卷积的运算以及形式import numpy as npdata = [1, 2, 3, 4, 5]kernel = [6, 7, 8]list1 = np.convolve(data, kernel, 'full') #全卷积,有一个卷积核生效就输出list2 = np.convolve(data, kernel, 'same') #同纬卷积,卷积核中间的那个生效则输出list3 = np.convolve(data, kernel, 'valid') #有效卷积,卷积核全生效.原创 2021-10-09 16:40:50 · 107 阅读 · 0 评论 -
matplotlib(二)
import numpy as npimport matplotlib.pyplot as mpx = np.linspace(-np.pi, np.pi, 1000)y = np.sin(x)z = np.cos(x)# mp.plot(x, y)xvals = [-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi]texts = [r'$-\pi$', r'$-\frac{\pi}{2}$', '0', r'$\frac{\pi}{2}$', r'$\pi$原创 2021-10-08 11:43:17 · 50 阅读 · 0 评论 -
matplotlib(一)
import numpy as npimport matplotlib.pyplot as mpx = np.linspace(-np.pi, np.pi, 1000)y = np.sin(x)z = np.cos(x)# mp.plot(x, y)xvals = [-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi]texts = [r'$-\pi$', r'$-\frac{\pi}{2}$', '0', r'$\frac{\pi}{2}$', r'$\pi$原创 2021-10-08 11:31:42 · 53 阅读 · 0 评论 -
numpy 不等长数组的组合拆分
import numpy as npa = np.array([1, 2, 3, 4, 5])b = np.array([6, 7, 8, 9])# 头部补0个,尾部补1个,重新开辟了一片空间,返回一个新的数组,而不是在原数组尾部追加b = np.pad(b, pad_width=(0, 1), mode='constant', constant_values=-1)# print(b)c = np.arange(1, 9)d = np.arange(9, 17)# print(np.原创 2021-10-07 21:22:48 · 926 阅读 · 0 评论 -
N维向量的拆分与组合(长度相等)
import numpy as npa = np.arange(1, 7).reshape(2, 3)# print(a)b = np.arange(7, 13).reshape(2, 3)# print(b)# 水平方向c = np.hstack((a, b))# print(c)a, b = np.hsplit(c, 2)# print(a)# print(b)# 垂直方向c = np.vstack((a, b))# print(c)a, b = np.vsplit(c原创 2021-10-07 18:15:04 · 174 阅读 · 0 评论 -
基于索引的掩码
import numpy as np# 基于索引的掩码names = np.array(['Apple', 'HW', 'MI', "Vivo", 'OPPO'])rank = [1, 0, 3, 4, 2]print(names[rank])原创 2021-10-07 17:06:11 · 108 阅读 · 0 评论