NumPy 双曲函数
NumPy 提供了 sinh()
、cosh()
和 tanh()
等 ufunc,它们接受弧度值并生成相应的双曲正弦、双曲余弦和双曲正切值。
示例:
import numpy as np
x = np.sinh(np.pi/2)
print(x)
示例
找到数组 arr
中所有值的双曲余弦值:
import numpy as np
arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5])
x = np.cosh(arr)
print(x)
查找角度
从双曲正弦、双曲余弦、双曲正切值查找角度。例如,sinh、cosh 和 tanh 的反函数(arcsinh、arccosh、arctanh)。
NumPy 提供了 arcsinh()
、arccosh()
和 arctanh()
等 ufunc,它们给出相应 sinh、cosh 和 tanh 值的弧度值。
示例
找到 1.0
的角度:
import numpy as np
x = np.arcsinh(1.0)
print(x)
数组中每个值的角度
示例
找到数组中所有 tanh
值的角度:
import numpy as np
arr = np.array([0.1, 0.2, 0.5])
x = np.arctanh(arr)
print(x)
NumPy 集合操作
什么是集合
在数学中,集合是一组唯一元素的集合。
集合用于频繁进行交集、并集和差集运算。
在 NumPy 中创建集合
我们可以使用 NumPy 的 unique()
方法从任何数组中找到唯一元素。例如,创建一个集合数组,但请记住,集合数组应该只是一维数组。
示例
将以下包含重复元素的数组转换为集合:
import numpy as np
arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])
x = np.unique(arr)
print(x)
查找并集
要找到两个数组的唯一值,请使用 union1d()
方法。
示例
找到以下两个集合数组的并集:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.union1d(arr1, arr2)
print(newarr)
查找交集
要找到仅在两个数组中都存在的值,请使用 intersect1d()
方法。
示例
找到以下两个集合数组的交集:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.intersect1d(arr1, arr2, assume_unique=True)
print(newarr)
注意: intersect1d()
方法接受一个可选参数 assume_unique
,如果设置为 True,则可以加快计算速度。在处理集合时应始终将其设置为 True。
查找差集
要找到第一个集合中存在但第二个集合中不存在的值,请使用 setdiff1d()
方法。
示例
找到 set2 中不存在的 set1 的差集:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setdiff1d(set1, set2, assume_unique=True)
print(newarr)
注意: setdiff1d()
方法接受一个可选参数 assume_unique
,如果设置为 True,则可以加快计算速度。在处理集合时应始终将其设置为 True。
查找对称差
要找到两个集合中都不存在的值,请使用 setxor1d()
方法。
示例
找到 set1 和 set2 的对称差:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setxor1d(set1, set2, assume_unique=True)
print(newarr)
注意: setxor1d()
方法接受一个可选参数 assume_unique
,如果设置为 True,则可以加快计算速度。在处理集合时应始终将其设置为 True。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注