经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » NumPy » 查看文章
python数学建模之Numpy?应用介绍与Pandas学习
来源:jb51  时间:2022/7/4 8:50:44  对本文有异议

Numpy学习

1 Numpy 介绍与应用

1-1Numpy是什么

NumPy 是一个运行速度非常快的数学库,一个开源的的python科学计算库,主要用于数组、矩阵计算,包含:

一个强大的N维数组对象 ndarray广播功能函数整合 C/C++/Fortran 代码的工具线性代数、傅里叶变换、随机数生成等功能 1-2 为什么选择Numpy

对于同样的数值计算任务,使用Numpy比直接编写原生python代码的优点有:

代码更简洁:

Numpy直接以数组、矩阵为粒度计算并且支撑大量的数学函数,而Python需要用for循环从底层实现

 性能更高效:

Numpy的数组存储效率和输入输出计算性能,比Python使用List或者嵌套List好很多

注意:Numpy的数据存储和Python原生的List是不一样的
加上Numpy的大部分代码都是C语言实现的,这是Numpy比纯Python代码高效的原因

相关学习、代码如下:须提前安装好Numpy、pandas和matplotlib

Numpy终端安装命令:pip install numpy
Pandas终端安装命令:pip install pandas
Matplotlib终端安装过命令:pip install matplotlib

526

  1. # @Software : PyCharm
  2. # Numpy是Python各种数据科学类库的基础库
  3. # 比如:Pandas,Scipy,Scikit_Learn等
  4. # Numpy应用:
  5. '''
  6. NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
  7. SciPy 是一个开源的 Python 算法库和数学工具包。
  8. SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
  9. Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
  10.  
  11. '''
  12. # 安装 NumPy 最简单的方法就是使用 pip 工具:
  13. # pip3 install --user numpy scipy matplotlib
  14. # --user 选项可以设置只安装在当前的用户下,而不是写入到系统目录。
  15. # 默认情况使用国外线路,国外太慢,我们使用清华的镜像就可以:
  16. # pip install numpy scipy matplotlib -i.csv https://pypi.tuna.tsinghua.edu.cn/simple
  17. # 这种pip安装是一种最简单、最轻量级的方法,当然,这里的前提是有Python包管理器
  18. # 如若不行,可以安装Anaconda【目前应用较广泛】,这是一个开源的Python发行版
  19. # 安装Anaconda地址:https://www.anaconda.com/
  20. # 安装验证
  21. # 测试是否安装成功
  22. from numpy import * # 导入 numpy 库
  23. print(eye(4)) # 生成对角矩阵
  24. # 查看版本:
  25. import numpy as np
  26. print(np.__version__)
  27. # 实现2个数组的加法:
  28. # 1-原生Python实现
  29. def Py_sum(n):
  30. a = [i**2 for i in range(n)]
  31. b = [i**3 for i in range(n)]
  32. # 创建一个空列表,便于后续存储
  33. ab_sum = []
  34. for i in range(n):
  35. # 将a、b中对应的元素相加
  36. ab_sum.append(a[i]+b[i])
  37. return ab_sum
  38. # 调用实现函数
  39. print(Py_sum(10))
  40. # 2-Numpy实现:
  41. def np_sum(n):
  42. c = np.arange(n) ** 2
  43. d = np.arange(n) ** 3
  44. return c+d
  45. print(np_sum(10))
  46. # 易看出使用Numpy代码简洁且运行效率快
  47. # 测试1000,10W,以及100W的运行时间
  48. # 做绘图对比:
  49. import pandas as pd
  50. # 输入数据
  51. py_times = [1.72*1000, 202*1000, 1.92*1000]
  52. np_times = [18.8, 14.9*1000, 17.8*10000]
  53.  
  54. # 创建Pandas的DataFrame类型数据
  55. ch_lxw = pd.DataFrame({
  56. 'py_times': py_times,
  57. 'np_times': np_times # 可加逗号
  58. })
  59. print(ch_lxw)
  1. import matplotlib.pyplot as plt
  2. # 线性图
  3. print(ch_lxw.plot())
  4. # 柱状图
  5. print(ch_lxw.plot.bar())
  6. # 简易箱线图
  7. print(ch_lxw.boxplot)
  8.  
  9. plt.show()

线性图运行效果如下:

63

柱状图运行效果如下:

528

2 NumPy Ndarray 对象

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组,其中的每个元素在内存中都有相同存储大小的区域。ndarray 对象采用了数组的索引机制,将数组中的每个元素映射到内存块上,并且按照一定的布局对内存块进行排序(行或列)

ndarray 内部由以下内容组成:

  • 一个指向数据(内存或内存映射文件中的一块数据)的指针;
  • 数据类型或 dtype,描述在数组中的固定大小值的格子;
  • 一个表示数组形状(shape)的元组,表示各维度大小的元组;
  • 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。

相关学习、代码如下:

  1. '''
  2. 创建一个 ndarray 只需调用 NumPy 的 array 函数即可:
  3. numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
  4. 参数说明:
  5.  
  6. 名称 描述
  7. object 表示数组或嵌套的数列
  8. dtype 表示数组元素的数据类型,可选
  9. copy 表示对象是否需要复制,可选
  10. order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
  11. subok 默认返回一个与基类类型一致的数组
  12. ndmin 指定生成数组的最小维度
  13. '''
  14. # ndarray 对象由计算机内存的连续一维部分组成,并结合索引模式,将每个元素映射到内存块中的一个位置。
  15. # 内存块以行顺序(C样式)或列顺序(FORTRAN或MatLab风格,即前述的F样式)来保存元素
  16.  
  17. # 学好Numpy,便于后期对Pandas的数据处理
  18. # 1:一维
  19. import numpy as np
  20. lxw = np.array([5, 2, 0])
  21. print(lxw)
  22. print()
  23. # 2: 多于一个维度
  24. import numpy as np
  25. lxw2 = np.array([[1, 5, 9], [5, 2, 0]])
  26. print(lxw2)
  27. print()
  28. # 3: 最小维度
  29. import numpy as np
  30. lxw3 = np.array([5, 2, 0, 1, 3, 1, 4], ndmin=2) # ndmin: 指定生成数组的最小维度
  31. print(lxw3)
  32. print()
  33. # 4: dtype参数
  34. import numpy as np
  35. lxw4 = np.array([3, 3, 4, 4], dtype=complex) # dtype: 数组元素的数据类型[complex 复数】
  36. print(lxw4)

3 Numpy 数据类型

numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型.

常用 NumPy 基本类型:

名称  描述
bool_ :【布尔型数据类型(True 或者 False)】
int_ : 【默认的整数类型(类似于 C 语言中的 long,int32 或 int64)】
intc :【与 C 的 int 类型一样,一般是 int32 或 int 64】
intp :【用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64)】
int8 :【字节(-128 to 127)】
int16 :【整数(-32768 to 32767)】
int32 :【整数(-2147483648 to 2147483647)】
int64 :【整数(-9223372036854775808 to 9223372036854775807)】
uint8 :【无符号整数(0 to 255)】
uint16 :【无符号整数(0 to 65535)】
uint32 :【无符号整数(0 to 4294967295)】
uint64 :【无符号整数(0 to 18446744073709551615)】
float_ float64 :【类型的简写】
float16 :【半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位】
float32 :【单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位】
float64 :【双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位】
complex_ complex128: 【类型的简写,即 128 位复数】
complex64 :【复数,表示双 32 位浮点数(实数部分和虚数部分)】
complex128 :【复数,表示双 64 位浮点数(实数部分和虚数部分)】

相关学习、代码如下:

  1. '''
  2. # numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等等。
  3. '''
  4. # Numpy 类型对象:
  5. '''
  6. dtype 对象是使用以下语法构造的:
  7.  
  8. numpy.dtype(object, align, copy)
  9.  
  10. object - 要转换为的数据类型对象
  11. align - 如果为 true,填充字段使其类似 C 的结构体。
  12. copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
  13.  
  14. '''
  15. # 1: 使用标量类型
  16. import numpy as np
  17. lxw = np.dtype(np.int32)
  18. print(lxw)
  19. print()
  20. # 2: int8, int16, int32, int64 四种数据类型可以使用字符串 'i1', 'i2','i4','i8' 代替
  21. import numpy as np
  22. lxw2 = np.dtype('i8') # int64
  23. print(lxw2)
  24. print()
  25. # 3: 字节顺序标注
  26. import numpy as np
  27. lxw3 = np.dtype('<i4') # int32
  28. print(lxw3)
  29. print()
  30. # 4: 首先创建结构化数据类型
  31. import numpy as np
  32. lxw4 = np.dtype([('age', np.int8)]) # i1
  33. print(lxw4)
  34. print()
  35. # 5: 将数据类型应用于 ndarray 对象
  36. import numpy as np
  37. lxw5 = np.dtype([('age', np.int32)])
  38. a = np.array([(10,), (20,), (30,)], dtype=lxw5)
  39. print(a)
  40. print()
  41. # 6: 类型字段名可以用于存取实际的 age 列
  42. import numpy as np
  43. lxw6 = np.dtype([('age', np.int64)])
  44. a = np.array([(10,), (20,), (30,)], dtype=lxw6)
  45. print(a['age'])
  46. print()
  47. # 7: 定义一个结构化数据类型 student,包含字符串字段 name,整数字段 age,及浮点字段 marks,并将这个 dtype 应用到 ndarray 对象
  48. import numpy as np
  49. student = np.dtype([('name', 'S20'), ('age', 'i2'), ('marks', 'f4')])
  50. print(student) # 运行结果:[('name', 'S20'), ('age', '<i2'), ('marks', '<f4')]
  51. print()
  52. # 8:
  53. import numpy as np
  54. student2 = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
  55. lxw = np.array([('lxw', 21, 52), ('cw', 22, 58)], dtype=student2)
  56. print(lxw) # 运行结果:[(b'lxw', 21, 52.) (b'cw', 22, 58.)]
  57. # 每个内建类型都有一个唯一定义它的字符代码,如下:
  58. '''
  59. 字符 对应类型
  60. b 布尔型
  61. i.csv (有符号) 整型
  62. u 无符号整型 integer
  63. f 浮点型
  64. c 复数浮点型
  65. m timedelta(时间间隔)
  66. M datetime(日期时间)
  67. O (Python) 对象
  68. S, a (byte-)字符串
  69. U Unicode
  70. V 原始数据 (void)
  71. '''

4 Numpy 数组属性

在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。

比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。

相关代码学习、如下:

  1. # NumPy 的数组中比较重要 ndarray 对象属性有:
  2. '''
  3. 属性 说明
  4. ndarray.ndim 秩,即轴的数量或维度的数量
  5. ndarray.shape 数组的维度,对于矩阵,n 行 m 列
  6. ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
  7. ndarray.dtype ndarray 对象的元素类型
  8. ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
  9. ndarray.flags ndarray 对象的内存信息
  10. ndarray.real ndarray元素的实部
  11. ndarray.imag ndarray 元素的虚部
  12. ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
  13.  
  14. '''
  15. # ndarray.ndim
  16. # ndarray.ndim 用于返回数组的维数,等于秩。
  17. import numpy as np
  18. lxw = np.arange(36)
  19. print(lxw.ndim) # a 现只有一个维度
  20. # 现调整其大小
  21. a = lxw.reshape(2, 6, 3) # 现在拥有三个维度
  22. print(a.ndim)
  23. print()
  24. # ndarray.shape
  25. # ndarray.shape 表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。比如,一个二维数组,其维度表示"行数"和"列数"。
  26. # ndarray.shape 也可以用于调整数组大小。
  27. import numpy as np
  28. lxw2 = np.array([[169, 175, 165], [52, 55, 50]])
  29. print(lxw2.shape) # shape: 数组的维度
  30. print()
  31. # 调整数组大小:
  32. import numpy as np
  33. lxw3 = np.array([[123, 234, 345], [456, 567, 789]])
  34. lxw3.shape = (3, 2)
  35. print(lxw3)
  36. print()
  37. # NumPy 也提供了 reshape 函数来调整数组大小:
  38. import numpy as np
  39. lxw4 = np.array([[23, 543, 65], [32, 54, 76]])
  40. c = lxw4.reshape(2, 3) # reshape: 调整数组大小
  41. print(c)
  42. print()
  43. # ndarray.itemsize
  44. # ndarray.itemsize 以字节的形式返回数组中每一个元素的大小。
  45.  
  46. # 例如,一个元素类型为 float64 的数组 itemsize 属性值为 8(float64 占用 64 个 bits,
  47. # 每个字节长度为 8,所以 64/8,占用 8 个字节),又如,一个元素类型为 complex32 的数组 item 属性为 4(32/8)
  48. import numpy as np
  49. # 数组的 dtype 为 int8(一个字节)
  50. x = np.array([1, 2, 3, 4, 5], dtype=np.int8)
  51. print(x.itemsize)
  52. # 数组的dtypy现在为float64(八个字节)
  53. y = np.array([1, 2, 3, 4, 5], dtype=np.float64)
  54. print(y.itemsize) # itemsize: 占用字节个数
  55. # 拓展:
  56. # 整体转化为整数型
  57. print(np.array([3.5, 6.6, 8.9], dtype=int))
  58. # 设置copy参数,默认为True
  59. a = np.array([2, 5, 6, 8, 9])
  60. b = np.array(a) # 复制a
  61. print(b) # 控制台打印b
  62. print(f'a: {id(a)}, b: {id(b)}') # 可打印出a和b的内存地址
  63. print('='*20)
  64. # 类似于列表的引用赋值
  65. b = a
  66. print(f'a: {id(a)}, b: {id(b)}')
  67. # 创建一个矩阵
  68. lxw5 = np.mat([1, 2, 3, 4, 5])
  69. print(type(lxw5)) # 矩阵类型: <class 'numpy.matrix'>
  70. # 复制出副本,并保持原类型
  71. yy = np.array(lxw5, subok=True)
  72. print(type(yy))
  73. # 只复制副本,不管其类型
  74. by = np.array(lxw5, subok=False) # False: 使用数组的数据类型
  75. print(type(by))
  76. print(id(yy), id(by))
  77. print('='*20)
  78. # 使用数组的copy()方法:
  79. c = np.array([2, 5, 6, 2])
  80. cp = c.copy()
  81. print(id(c), id(cp))
  82. print()
  83. # ndarray.flags
  84. '''
  85. ndarray.flags 返回 ndarray 对象的内存信息,包含以下属性:
  86. 属性 描述
  87. C_CONTIGUOUS (C) 数据是在一个单一的C风格的连续段中
  88. F_CONTIGUOUS (F) 数据是在一个单一的Fortran风格的连续段中
  89. OWNDATA (O) 数组拥有它所使用的内存或从另一个对象中借用它
  90. WRITEABLE (W) 数据区域可以被写入,将该值设置为 False,则数据为只读
  91. ALIGNED (A) 数据和所有元素都适当地对齐到硬件上
  92. UPDATEIFCOPY (U) 这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新
  93.  
  94. '''
  95. import numpy as np
  96. lxw4 = np.array([1, 3, 5, 6, 7])
  97. print(lxw4.flags) # flags: 其内存信息

Pandas学习

当然,做这些的前提是首先把文件准备好

文件准备:

文件太长,故只截取了部分,当然,此文件可自行弄类似的也可以!

在这里插入图片描述

1 pandas新增数据列

在进行数据分析时,经常需要按照一定条件创造新的数据列,然后再进一步分析

  • 直接赋值
  • df.apply()方法
  • df.assign()方法
  • 按条件进行分组分别赋值
  1. # 1:
  2. import pandas as pd
  3.  
  4. # 读取数据
  5. lxw = pd.read_csv('sites.csv')
  6.  
  7. # print(lxw.head())
  8. df = pd.DataFrame(lxw)
  9. # print(df)
  10. df['lrl'] = df['lrl'].map(lambda x: x.rstrip('%'))
  11. # print(df)
  12. df.loc[:, 'jf'] = df['yye'] - df['sku_cost_prc']
  13. # 返回的是Series
  14. # print(df.head())
  15. # 2:
  16. def get_cha(n):
  17. if n['yye'] > 5:
  18. return '高价'
  19. elif n['yye'] < 2:
  20. return '低价'
  21. else:
  22. return '正常价'
  23. df.loc[:, 'yye_type'] = df.apply(get_cha, axis=1)
  24. # print(df.head())
  25. print(df['yye_type'].value_counts())
  26. # 3:
  27. # 可同时添加多个新列
  28. print(df.assign(
  29. yye_bh=lambda x: x['yye']*2-3,
  30. sl_zj=lambda x: x['sku_cnt']*6
  31. ).head(10))
  32. # 4:
  33.  
  34. # 按条件先选择数据,然后对这部分数据赋值新列
  35. # 先创建空列
  36. df['zyye_type'] = ''
  37.  
  38. df.loc[df['yye'] - df['sku_cnt']>8, 'zyye_type'] = '高'
  39. df.loc[df['yye'] - df['sku_cnt'] <= 8, 'zyye_type'] = '低'
  40. print(df.head())

下面分别是每个小问对应运行效果:

1:

在这里插入图片描述

2:

在这里插入图片描述

3:

在这里插入图片描述

4:

在这里插入图片描述

2 Pandas数据统计函数

  1. # Pandas数据统计函数
  2. '''
  3. 1-汇总类统计
  4. 2-唯一去重和按值计数
  5. 3-相关系数和协方差
  6. '''
  7. import pandas as pd
  8. lxw = pd.read_csv('nba.csv')
  9. # print(lxw.head(3))
  10. # 1:
  11. # 一下子提取所有数字列统计结果
  12. print(lxw.describe())
  13. # 查看单个Series的数据
  14. print(lxw['Age'].mean())
  15. # 年龄最大
  16. print(lxw['Age'].max())
  17. # 体重最轻
  18. print(lxw['Weight'].min())
  19. # 2:
  20. # 2-1 唯一性去重【一般不用于数值项,而是枚举、分类项】
  21. print(lxw['Height'].unique())
  22. print(lxw['Team'].unique())
  23. # 2-2 按值计算
  24. print(lxw['Age'].value_counts())
  25. print(lxw['Team'].value_counts())
  26. # 3:
  27. # 应用:股票涨跌、产品销量波动等等
  28. '''
  29. 对于两个变量X、Y:
  30. 1-协方差:衡量同向程度程度,如果协方差为正,说明X、Y同向变化,协方差越大说明同向程度越高;
  31. 如果协方差为负,说明X、Y反向运动,协方差越小说明方向程度越高。
  32. 2-相关系数:衡量相似度程度,当他们的相关系数为1时,说明两个变量变化时的正向相似度最大,
  33. 当相关系数为-1,说明两个变化时的反向相似度最大。
  34. '''
  35. # 协方差矩阵:
  36. print(lxw.cov())
  37. # 相关系数矩阵:
  38. print(lxw.corr())
  39. # 单独查看年龄和体重的相关系数
  40. print(lxw['Age'].corr(lxw['Weight']))
  41. # Age和Salary的相关系数
  42. print(lxw['Age'].corr(lxw['Salary']))
  43. # 注意看括号内的相减
  44. print(lxw['Age'].corr(lxw['Salary']-lxw['Weight']))

1:

在这里插入图片描述

2-1:

在这里插入图片描述

部分2-2:

在这里插入图片描述

3:

在这里插入图片描述

3 Pandas对缺失值的处理

特殊Excel的读取、清洗、处理:

  1. # Pandas对缺失值的处理
  2. '''
  3. 函数用法:
  4. 1-isnull和notnull: 检测是否有控制,可用于dataframe和series
  5. 2-dropna: 丢弃、删除缺失值
  6. 2-1 axis: 删除行还是列,{0 or 'index', 1 or 'columns'}, default()
  7. 2-2 how: 如果等于any, 则任何值都为空,都删除;如果等于all所有值都为空,才删除
  8. 2-3 inplace: 如果为True,则修改当前dataframe,否则返回新的dataframe
  9. 2-4 value: 用于填充的值,可以是单个值,或者字典(key是列名,value是值)
  10. 2-5 method: 等于ffill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充backword fill
  11. 2-6 axis: 按行还是按列填充,{0 or "index", 1 or "columns"}
  12. 2-7 inplace: 如果为True则修改当前dataframe,否则返回新的dataframe
  13.  
  14. '''
  15. # 特殊Excel的读取、清洗、处理
  16. import pandas as pd
  17. # 1: 读取excel时,忽略前几个空行
  18. stu = pd.read_excel("Score表.xlsx", skiprows=14) # skiprows: 控制在几行以下
  19. print(stu)
  20. # 2: 检测空值
  21. print(stu.isnull())
  22. print(stu['成绩'].isnull())
  23. print(stu['成绩'].notnull())
  24. # 筛选没有空成绩的所有行
  25. print(stu.loc[stu['成绩'].notnull(), :])
  26. # 3: 删除全是空值的列:
  27. # axis: 删除行还是列,{0 or 'index', 1 or 'columns'}, default()
  28. # how: 如果等于any, 则任何值都为空,都删除;如果等于all所有值都为空,才删除
  29. # inplace: 如果为True则修改当前dataframe,否则返回新的dataframe
  30. stu.dropna(axis="columns", how="all", inplace=True)
  31. print(stu)
  32. # 4: 删除全是空值的行:
  33. stu.dropna(axis="index", how="all", inplace=True)
  34. print(stu)
  35. # 5: 将成绩列为空的填充为0分:
  36. stu.fillna({"成绩": 0})
  37. print(stu)
  38. # 同上:
  39. stu.loc[:, '成绩'] = stu['成绩'].fillna(0)
  40. print(stu)
  41. # 6: 将姓名的缺失值填充【使用前面的有效值填充,用ffill: forward fill】
  42. stu.loc[:, '姓名'] = stu['姓名'].fillna(method='ffill')
  43. print(stu)
  44. # 7: 将清洗好的Excel保存:
  45. stu.to_excel("Score成绩_clean.xlsx", index=False)

1:

在这里插入图片描述

2

在这里插入图片描述

在这里插入图片描述![

在这里插入图片描述

3:

在这里插入图片描述

4:

在这里插入图片描述

5:

在这里插入图片描述

6:

在这里插入图片描述

总结

今天我学习了处理python数据分析的另一个库——Numpy,刚开始接触这个库的时候真的感觉没什么意思,可学的越深入一点,越觉得越有意思,当然,昨天的那个库也挺不错的,主要是Numpy这个是学Pandas的基础,得打好基础,当然也不会落下Pandas的学习!

到此这篇关于python数学建模之Numpy 应用介绍与Pandas学习的文章就介绍到这了,更多相关python Numpy 内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号