矩阵中有很多正数和负数,我想用符号来记录所有的数字,这意味着:对于正数,直接取对数,对于负数,也许我们可以把它们改为正数,取对数,然后改为负数?当我使用np.log10时,负数将是Nah。
发布于 2018-03-09 00:16:55
如果我正确理解,您希望获取数组绝对值的日志,然后在原始数组为负值的地方,反转日志值的符号。如果这确实是你想要做的,这将实现你想要的:
给定数组:
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])https://stackoverflow.com/questions/49184573
复制相似问题