2024-06-02 05:10:08 发布
网友
在一个矩阵中有很多正数和负数,我想用符号来表示所有的数,也就是说:对于正数,直接取对数,对于负数,也许我们可以把它们改成正数,取对数,然后再改回负数? 当我使用np.log10号,则负数为“不”。你知道吗
如果我理解正确的话,你要取对数的绝对值,那么在原来的数组是负数的地方,倒数对数值的符号。如果我不正确,请告诉我。我不知道这些数字对于log函数的定义到底有多大意义。。。你知道吗
但如果这确实是你想要做的,这将实现你想要的:
给定数组:
arr = np.random.randn(10) array([ 0.01709907, -1.5970228 , 0.60764499, 0.10409295, 0.04213179, -0.51913205, -1.38669546, 0.0965971 , 0.65106376, -2.48521279])
您可以使用以下方法应用我描述的转换:
logs = np.log10(np.abs(arr)) logs[arr < 0] = logs[arr < 0]*-1
因此:
>>> logs array([-1.76702751, -0.20331112, -0.21635008, -0.98257868, -1.37539009, 0.28472216, -0.14198109, -1.01503591, -0.18637648, -0.39536358])
如果我理解正确的话,你要取对数的绝对值,那么在原来的数组是负数的地方,倒数对数值的符号。如果我不正确,请告诉我。我不知道这些数字对于log函数的定义到底有多大意义。。。你知道吗
但如果这确实是你想要做的,这将实现你想要的:
给定数组:
您可以使用以下方法应用我描述的转换:
因此:
相关问题 更多 >
编程相关推荐