网站首页 > 文章中心 > 其它

python中反正切函数

作者:小编 更新时间:2023-09-14 18:46:56 浏览量:160人看过

PYTHON实现对CSV文件多维不同单位数据的归一化处理

①.)线性归一化

这种归一化比较适用在数值比较集中的情况,缺陷就是如果max和min不稳定,很容易使得归一化结果不稳定,使得后续的效果不稳定,实际使用中可以用经验常量来代替max和min.

经过处理的数据符合标准正态分布,即均值为0,标准差为1.

经常用在数据分化较大的场景,有些数值大,有些很小.通过一些数学函数,将原始值进行映射.该方法包括log、指数、反正切等.需要根据数据分布的情况,决定非线性函数的曲线.

log函数:x = lg(x)/lg(max)

Python实现

线性归一化

定义数组:x = numpy.array(x)

获取二维数组列方向的最大值:x.max(axis = 0)

获取二维数组列方向的最小值:x.min(axis = 0)

对二维数组进行线性归一化:

def max_min_normalization(data_value, data_col_max_values, data_col_min_values):

""" Data normalization using max value and min value

Args:

data_value: The data to be normalized

data_col_max_values: The maximum value of data's columns

data_col_min_values: The minimum value of data's columns

"""

data_shape = data_value.shape

data_rows = data_shape[0]

data_cols = data_shape[1]

for i in xrange(0, data_rows, 1):

for j in xrange(0, data_cols, 1):

data_value[i][j] = \

(data_value[i][j] - data_col_min_values[j]) / \

(data_col_max_values[j] - data_col_min_values[j])

标准差归一化

获取二维数组列方向的均值:x.mean(axis = 0)

获取二维数组列方向的标准差:x.std(axis = 0)

对二维数组进行标准差归一化:

def standard_deviation_normalization(data_value, data_col_means,

data_col_standard_deviation):

""" Data normalization using standard deviation

data_col_means: The means of data's columns

data_col_standard_deviation: The variance of data's columns

(data_value[i][j] - data_col_means[j]) / \

data_col_standard_deviation[j]

非线性归一化(以lg为例)

获取二维数组列方向的最大值:x.max(axis=0)

获取二维数组每个元素的lg值:numpy.log10(x)

获取二维数组列方向的最大值的lg值:numpy.log10(x.max(axis=0))

对二维数组使用lg进行非线性归一化:

def nonlinearity_normalization_lg(data_value_after_lg,

data_col_max_values_after_lg):

""" Data normalization using lg

data_value_after_lg: The data to be normalized

data_col_max_values_after_lg: The maximum value of data's columns

data_shape = data_value_after_lg.shape

data_value_after_lg[i][j] = \

data_value_after_lg[i][j] / data_col_max_values_after_lg[j]

tan的-1次方Python怎么敲

计算器上一般用shift键,再按的tan输入,就是tan的负一次方的.

计算机先选科学型,然后在度与弧度下面有个inv键,按了它后就有tan-1次方,就是arctan的意思,arctan是正切的反函数,计算器上一般用shift键加tan键,就是tan的负一次方的那个.

科学型计算器一般都可以计算,常见的有夏普计算器、卡西欧计算器、得力计算器.arctan也可以写作arctg,是反正切函数,你看看计算机上有没有arctan或者arc^-1注意各个键位上的标示以及该键位所对应的功能键标示,有些功能要先按shift键、alpha等功能.

python之数学相关模块

先来看一下 math 模块中包含内容,如下所示:

此时此刻呢具体看一下该模块的常用函数和常量.

ceil(x)

返回 x 的上限,即大于或者等于 x 的最小整数.看下示例:

floor(x)

返回 x 的向下取整,小于或等于 x 的最大整数.看下示例:

fabs(x)

返回 x 的绝对值.看下示例:

fmod(x, y)

返回 x/y 的余数,值为浮点数.看下示例:

factorial(x)

返回 x 的阶乘,如果 x 不是整数或为负数时则将引发 ValueError.看下示例:

pow(x, y)

返回 x 的 y 次幂.看下示例:

fsum(iterable)

返回迭代器中所有元素的和.看下示例:

gcd(x, y)

返回整数 x 和 y 的最大公约数.看下示例:

sqrt(x)

返回 x 的平方根.看下示例:

trunc(x)

返回 x 的整数部分.看下示例:

exp(x)

返回 e 的 x 次幂.看下示例:

log(x[, base])

返回 x 的对数,底数默认为 e.看下示例:

常量

tan(x)

返回 x 弧度的正切值.看下示例:

atan(x)

返回 x 的反正切值.看下示例:

sin(x)

返回 x 弧度的正弦值.看下示例:

asin(x)

返回 x 的反正弦值.看下示例:

cos(x)

返回 x 弧度的余弦值.看下示例:

acos(x)

返回 x 的反余弦值.看下示例:

decimal 模块为正确舍入十进制浮点运算提供了支持,相比内置的浮点类型 float,它能更加精确的控制精度,能够为精度要求较高的金融等领域提供支持.

decimal 在一个独立的 context 下工作,可以使用 getcontext() 查看当前上下文,如下所示:

基本运算

执行结果:

上面结果是用了默认精度,我们重新设置下精度再来看一下:

random 模块可以生成随机数,我们来看一下其常用函数.

random()

返回 [0.0, 1.0) 范围内的一个随机浮点数.看下示例:

uniform(a, b)

返回 [a, b) 范围内的一个随机浮点数.看下示例:

randint(a, b)

返回 [a, b] 范围内的一个随机整数.看下示例:

randrange(start, stop[, step])

返回 [start, stop) 范围内步长为 step 的一个随机整数.看下示例:

choice(seq)

从非空序列 seq 返回一个随机元素. 看下示例:

shuffle(x[, random])

将序列 x 随机打乱位置.看下示例:

sample(population, k)

返回从总体序列或集合中选择的唯一元素的 k 长度列表,用于无重复的随机抽样.看下示例:

参考:

Python--math库

Python math 库提供许多对浮点数的数学运算函数,math模块不支持复数运算,若需计算复数,可使用cmath模块(本文不赘述).

使用dir函数,查看math库中包含的所有内容:

①.) math.pi?# 圆周率n

①.) math.fabs(x)? ? #表示X值的绝对值

①.0) math.modf(x)? ? #表示x的小数和整数部分

①.1) math.trunc(x)? ? #表示x值的整数部分

①.) math.pow(x,y)? ? #表示x的y次幂

①.) math.degrees(x)? ? #表示弧度值转角度值

①.1) math.sinh(x)? ? #表示x的双曲正弦函数值

①.)math.erf(x)? ? #高斯误差函数

arctan换算角度——python实现

参考文章:

如何用python表示三角函数

在python中,有一个math module,你可以import math,里面有math.sin(), math.cos(), math.asin()和math.acos()四个函数.相信你也知道asin和acos的意思,就是arcsin和arccos.有了这四个函数你就可以求函数值和角度了.但是要注意括号里面填的数值,要用弧度制.

以上就是土嘎嘎小编为大家整理的python中反正切函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章