Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以统一的方式缩放值?_Python_Numpy_Scale_Uniform - Fatal编程技术网

Python 以统一的方式缩放值?

Python 以统一的方式缩放值?,python,numpy,scale,uniform,Python,Numpy,Scale,Uniform,我有一个数字数组,可以转换成百分比(范围[0..1]中的值)。然后我把它转换成灰色 例如: percentage = nums/float(nums.max()) 问题是,大多数值都是小数值和几个大数值。这导致大多数%大约为0.01。 结果是,这将转换为~~白色,在打印时不可见。 顺便说一句,我必须保留所有的值 我试图缩小异常值的比例,但即使这样也无济于事;( 这样做的目的是将异常值缩小到平均值的2std 我想我需要的是某种“逐步”函数,它将值分组,使它们均匀缩放 在0..1范围内,使每个点

我有一个数字数组,可以转换成百分比(范围[0..1]中的值)。然后我把它转换成灰色

例如:

 percentage = nums/float(nums.max())
问题是,大多数值都是小数值和几个大数值。这导致大多数%大约为0.01。 结果是,这将转换为~~白色,在打印时不可见。 顺便说一句,我必须保留所有的值

我试图缩小异常值的比例,但即使这样也无济于事;(

这样做的目的是将异常值缩小到平均值的2std

我想我需要的是某种“逐步”函数,它将值分组,使它们均匀缩放 在0..1范围内,使每个点接收可见颜色,但仍保持一些对比度,以便区分值

PS>可能是,范围必须在0.1到1之间

=====

到目前为止,这是某种解决方案:

 c += 0.15 * (1-c) 

考虑到通常的照片编辑,是否可以将一些值截断?然后,通常的排序可能会有所帮助,如

highlights=np.sort(nums)[-xyz:]
只需将这些值设置为下一个较小的值,即可设置为白色

当然,这可能是对数据的严重操纵,但这是,当你调整颜色曲线时,你通常在GIMP或类似的照片处理软件中做的事情。因此,如果这些离群点像不规则的像素,实际上你对中间的灰度值感兴趣,这可能是有帮助的。

我希望,我没弄错你的兴趣,
lepakk

到目前为止,这是最好的解决方案:

 c += 0.15 * (1-c) 

c+=0.15*(1-c)

也许你应该阅读一下它是否有效,你能接受答案并结束这个问题吗?如果你找到了另一个更适合你需要的解决方案,我们也很感激,如果你能在这里单独回答。谢谢。