Python 第三方包的使用指南

Python 第三方包的使用指南

在仿真的过程中,总有一些方法不复杂,但是自己写就很耗时,而且每次都要去查。因此就专门开一个博客来记录下,调用第三方包中的一些快捷方法。如果有更好的方法可以在评论里留言,我会实时更新的。

Numpy

查看ndarray数组中的非零最小项

import numpy as np 
minval = np.min(a[np.nonzero(a)]) 
maxval = np.max(a[np.nonzero(a)]) 

数组复制

这部分来自我的另一个博客Numpy 100道练习题,这部分持续在更新,可以关注。

这里有两个函数np.repeatnp.tile,这两者的区别在于前者操作的层面是元素,后者操作的层面是轴。

np.repeat(a, repeats, axis)

  • a:表示操作对象,可以是元素也可以是数组
  • repeats:表示复制的次数,可以对数组的每一维(层)的复制次数进行分别制定,例如repeats=(2,3)就是数组的第一维复制两次,第二维复制三次。但是此时需要制定沿哪个轴进行复制。通常repeats的值是一个数,此时得到的结果就是一维数组,每个元素都复制一样的次数。

    注意这里的 维和axis中的维度不是一个对象。

  • axis:复制的轴向,axis=0为第一维度(行),axis=1为第二维度(列)。需要注意的是,如果是三维的话,第一维度不是行,是层,第二维度是行,第三维度是列。

对于多维数组的排序,最简单的方式就是数中括号的层数和顺序。

Z = np.array([[1, 2], [3, 4]])
np.repeat(Z, (2, 1), axis=0)
得到:
array([[1, 2],
       [1, 2],
       [3, 4]])
       
Z = np.array([[1, 2], [3, 4]])
np.repeat(Z, 2)
得到:
array([1, 1, 2, 2, 3, 3, 4, 4])

Z = np.array([[1, 2], [3, 4]])
np.repeat(Z, 2, axis=1)
得到:
array([[1, 1, 2, 2],
       [3, 3, 4, 4]])

np.tile(A, repeats)

  • A:复制的数组
  • repeats:复制次数,这个与np.repeat不同的是,这里的复制不再按照元素来考虑,而是当做整体,如果repeats是一个数字,就是沿着默认的第一维度(行)复制,如果是(a,b)就是沿着第一维度(行)复制a次,沿着第二维度(列)复制b次。
Z = np.array([[1, 2], [3, 4]])
np.tile(Z, 2)
得到:
array([[1, 2, 1, 2],
       [3, 4, 3, 4]])
       
Z = np.array([[1, 2], [3, 4]])
np.tile(Z, (2,3))
得到:
array([[1, 2, 1, 2, 1, 2],
       [3, 4, 3, 4, 3, 4],
       [1, 2, 1, 2, 1, 2],
       [3, 4, 3, 4, 3, 4]])

Scipy

计算距离矩阵

具体用法参考:scipy.spatial.distance.cdist,这里举个简单的例子,

import numpy as np
from scipy.spatial.distance import cdist

Z = np.random.random((10,2))
dist_mat = cdist(Z, Z)

数学,物理常量和单位

以后别再傻傻地去百度各种常量了,直接调用就行。

常量表参考:Constants (scipy.constants)

cmath

直角坐标系和极坐标系转换

直角坐标系和极坐标系的想换转化,虽然可以自己写,但我懒。不过可以通过实数和复数的转化来实现。

from cmath import polar, rect
from math import degrees, atan

x, y = 1, 1  # * 设置直角坐标系下的坐标
z = complex(x, y)  # * complex是自带函数,不用导入
pz = polar(z)  # * 转为极坐标,得到二元组,前者是边长,后者是弧度

# * 弧度转角度,并进行对比
degrees(atan(1))
degrees(pz[1])

# * 极坐标转直角坐标
rz = rect(pz[0], pz[1])  # * 转为支教坐标,得到二元组,前者是横坐标,后者是纵坐标

这部分参考:python坐标转化极坐标_python极坐标和直角坐标的转换-CSDN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python第三方包是由第三方公司或团队开发的,可以极大地提升Python开发效率。可以通过使用pip命令来安装第三方包。 pip是Python的第三方包管理工具,可以帮助我们方便地安装、更新和卸载第三方包。 一些常用的Python第三方包包括ipython,它是一个强大的Python交互式shell,支持变量自动补全和自动缩进。可以使用pip命令安装ipython,例如:pip install ipython。 对于安装第三方包时可能遇到的网络问题,我们可以指定使用国内源来安装,比如使用清华大学的源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名。 如果需要删除已安装的包,可以使用pip uninstall 包名命令。如果需要安装特定版本的包,可以使用pip install 包名==版本号来指定安装。 总结来说,Python第三方包是由第三方公司或团队开发的,可以通过pip命令来安装、更新和卸载。常用的第三方包有ipython等,可以提升Python开发效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【PythonPython 包 ③ ( Python 第三方包简介 | 安装第三方包 | 命令行安装 | PyCharm 安装 | 设置代理 |...](https://blog.csdn.net/han1202012/article/details/131489379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python中的第三方包](https://blog.csdn.net/m0_48978908/article/details/119812004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值