如何仅以偶数计数

时间:2016-02-01 12:36:57

标签: python matplotlib

我正在尝试在底图上绘制表面压力。我已经成功地将压力值提取为numpy数组。当我绘制压力值时,它看起来很笨拙,而且isolines非常接近。我想只绘制numpy数组的偶数(压力值)?

是否可以这样做?

2 个答案:

答案 0 :(得分:1)

不完全确定您想要什么,或者您的数据如何被重新发布,但这可能会有效:

假设你有一个二维的numpy阵列,在不同的区域保持气压:

In [12]: A
Out[12]: 
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

您可以使用A % 2为每个单元格获取模2,作为新数组:

In [13]: A % 2
Out[13]: 
array([[1, 0, 1],
       [0, 1, 0],
       [1, 0, 1]])

你可以添加这两个,以获得一个新的数组,其中1被添加到每个奇数单元格,将数组中的所有数字碰到下一个偶数:

In [14]: A + (A % 2)
Out[14]: 
array([[ 2,  2,  4],
       [ 4,  6,  6],
       [ 8,  8, 10]])

现在没有更多区域具有奇数压力(它们现在具有与压力均匀的下一个区域相同的压力),因此不应存在任何奇数压力线。

答案 1 :(得分:0)

我不确定你的意思是偶数值甚至是指数位置。这两个都是。

import numpy as np
x=np.array([1,2,3,4,5,6,7,8,9,10])
even_index=x[::2]
even_values=x[x%2==0]