I believe you're after re-sampling a raster on the fly which I don't believe is possible (though I'd be happy to be proved wrong).
You'll have to create a new dataset at the required sample level. In ArcGIS you can do this using the Resample tool (which you can add to a python script). This does create a new file on your disk which depending on the size of your raster can take up a lot of unnecessary room, especially if you have to do this many times for many rasters.
Happily given that you have GDAL installed you can use the GDAL Virtual Raster Format (.vrt) as your intermediate file. This is an XML file that describes a new raster by pointing to an existing file (or set of files) on disk. This can then be read using the GDAL Python bindings (or better yet, rasterio - a much nicer Python GDAL wrapper). The easiest way to create this VRT is to use the gdal_translate command line utility:
gdal_translate -outsize x y -r nearest -of VRT in_raster.tif out_vrt.vrt
y are either a percentage of the original resolution (e.g. 50% 50% gives a cell twice the width and twice the length of the input), or the number of columns and the number of rows. The resample method (
-r) is nearest neighbour by default, but can be any one of: nearest, bilinear, cubic, cubicspline, lanczos, average, mode.
The VRT can now be read in Python for analysis using your method of choice;
with rasterio.open("out_vrt.vrt") as src:
data = src.read(1)
# analysis here