On the help page of the function informs that the function entries are:
DataFrame.any(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs).  
The parameter the function is taking as value 1 is Axis.
axis : {0 or ‘index’, 1 or ‘columns’, None}, default 0.
That is, the parameter only accepts 0 or 1. If you run the command np.abs(data) >3).any(0) will have as answer below, because it will make a test grouped by column:
0    True
1    True
2    True
3    True
dtype: bool
It will give error, because to filter a frame of 1000 lines would be necessary a list of 1000 elements with True or False values.
If you transpose the Dataframe and apply the search with 0 will work:
>>> data.T[(np.abs(data) >3).any()]
        0         1         2         3         4    ...       995       996       997       998       999
0  1.450311  1.192274  0.221418  0.154094  1.182402  ... -0.114990  0.022501  1.450387 -0.148182  1.176990
1  1.366100 -1.103633 -0.736515 -1.032142  0.324770  ...  0.367205  0.229713  0.913765 -0.495397  0.943025
2 -0.657914  0.732565 -1.034729  1.256725  0.556723  ...  0.105583 -0.357065 -0.907179 -0.709269 -2.395450
3 -0.611006  0.628155  1.463978 -0.261827 -0.964198  ...  0.338030  1.421146 -1.490041  0.030427  0.887882
[4 rows x 1000 columns]
							
							
						 
This pandas any is quite different from any python, which is any(function, iterable)...
– Ed S
Is there any other way to make the same selection?
– Ed S
I believe that the most direct way to do it is this, because you want to do a test of the data set of a line. If only one column were to be tested, such as column 0, "date[abs(date[0])>3]".
– Hugo Salvador