First import all the modules such as healpy and astropy needed for analyzing the structure
In [1]:
import healpix_util as hu
import astropy as ap
import numpy as np
from astropy.io import fits
from astropy.table import Table
import astropy.io.ascii as ascii
from astropy.io import fits
from astropy.constants import c
import matplotlib.pyplot as plt
import math as m
from math import pi
#from scipy.constants import c
import scipy.special as sp
from astroML.decorators import pickle_results
from scipy import integrate
import warnings
from sklearn.neighbors import BallTree
import pickle
import multiprocessing as mp
import time
from aptestmetricdt import *
from aptestmetricdz import *
from scipy.spatial import distance as d
from apcat import *
from progressbar import *
from tqdm import *
from functools import partial
import pymangle
from apdz import *
from apdt import *
from scipy.optimize import curve_fit
#from astroML.datasets import fetch_sdss_specgals
#from astroML.correlation import bootstrap_two_point_angular
%matplotlib inline
In [2]:
# Getting back the objects:
with open('../output/DR12Qbin1.pkl') as f: # Python 3: open(..., 'rb')
dat = pickle.load(f)
dat
Out[2]:
array([[ 1.36035800e+00, 9.30000000e-05, -3.54870000e-02],
[ 1.13454400e+00, 6.82000000e-04, 2.43272000e-01],
[ 8.35325000e-01, 7.58000000e-04, -1.42169000e-01],
...,
[ 7.86509000e-01, 6.28274400e+00, 2.60439000e-01],
[ 8.35873000e-01, 6.28277000e+00, 1.59740000e-01],
[ 1.19725300e+00, 6.28307200e+00, 3.69546000e-01]])
Read the data file (taken from http://cosmo.nyu.edu/~eak306/SDSS-LRG.html ) converted to ascii with comoving distance etc. in V01 reading from pkl files for faster read
In [3]:
# Getting back the objects:
with open('../output/randDR12Qbin1.pkl') as f: # Python 3: open(..., 'rb')
datR = pickle.load(f)
datR
Out[3]:
array([[ 1.360358, 4.269086, 0.514813],
[ 1.134544, 0.060924, 0.615164],
[ 0.835325, 5.941764, 0.184429],
...,
[ 0.786509, 2.980918, 0.480278],
[ 0.835873, 0.522808, -0.123566],
[ 1.197253, 3.449246, 0.619426]])
In [4]:
dr2d=np.zeros((20,20))
In [5]:
rng = np.array([[0, 0.02], [0, 0.02]])
In [8]:
%%time
dist0=d.cdist([dat[0],],datR,APdz)[0]
dist1=d.cdist([dat[0],],datR,APzdth)[0]
print np.histogram2d(dist0, dist1,bins=20, range=rng)
(array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.]]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]))
CPU times: user 682 ms, sys: 33.8 ms, total: 716 ms
Wall time: 691 ms
In [9]:
%%time
for i in tqdm(xrange(len(dat))):
dist0=d.cdist([dat[i],],datR,APdz)[0]
dist1=d.cdist([dat[i],],datR,APzdth)[0]
dr2d+=np.histogram2d(dist0, dist1, bins=20,range=rng)[0]
print dr2d
100%|██████████| 48309/48309 [7:24:24<00:00, 1.83it/s]
[[ 14. 34. 47. 82. 126. 136. 129. 179. 206. 222. 240. 244.
278. 321. 334. 405. 361. 402. 403. 432.]
[ 14. 37. 53. 88. 121. 111. 135. 167. 196. 211. 232. 263.
316. 306. 314. 346. 424. 390. 418. 415.]
[ 9. 40. 47. 93. 87. 151. 156. 198. 201. 205. 220. 276.
291. 309. 369. 350. 344. 363. 404. 458.]
[ 7. 34. 56. 77. 80. 109. 124. 165. 202. 198. 239. 268.
283. 323. 325. 362. 363. 386. 392. 446.]
[ 12. 33. 63. 75. 104. 112. 146. 174. 179. 223. 254. 262.
281. 296. 316. 340. 363. 373. 469. 394.]
[ 8. 28. 53. 96. 103. 108. 144. 173. 187. 192. 227. 272.
275. 315. 328. 359. 369. 417. 394. 403.]
[ 14. 16. 64. 77. 103. 121. 138. 171. 189. 214. 236. 281.
288. 281. 288. 335. 363. 413. 419. 417.]
[ 11. 29. 55. 95. 97. 123. 149. 165. 200. 209. 247. 249.
303. 302. 328. 341. 342. 411. 419. 443.]
[ 16. 31. 46. 79. 105. 135. 137. 178. 177. 210. 228. 252.
269. 280. 323. 379. 407. 397. 386. 436.]
[ 6. 33. 62. 78. 91. 113. 149. 171. 175. 206. 247. 258.
284. 296. 301. 301. 354. 405. 418. 430.]
[ 11. 36. 72. 70. 103. 112. 129. 156. 213. 242. 245. 255.
237. 281. 326. 340. 373. 384. 401. 418.]
[ 12. 26. 45. 80. 103. 125. 147. 177. 189. 216. 213. 250.
298. 311. 344. 351. 380. 392. 384. 417.]
[ 11. 29. 47. 82. 91. 125. 131. 196. 177. 217. 214. 248.
299. 313. 324. 370. 397. 404. 375. 429.]
[ 8. 32. 49. 64. 103. 123. 123. 177. 175. 218. 239. 253.
271. 280. 293. 333. 369. 390. 398. 440.]
[ 10. 39. 48. 76. 84. 123. 144. 172. 187. 225. 219. 229.
259. 278. 342. 343. 343. 377. 426. 423.]
[ 15. 24. 44. 77. 99. 119. 150. 165. 196. 214. 238. 228.
267. 304. 305. 359. 384. 370. 360. 398.]
[ 14. 37. 56. 93. 116. 114. 138. 182. 187. 204. 229. 232.
260. 295. 303. 353. 331. 369. 392. 407.]
[ 9. 26. 29. 80. 98. 117. 140. 188. 189. 195. 222. 246.
296. 312. 309. 334. 343. 400. 400. 425.]
[ 10. 39. 56. 79. 109. 103. 144. 148. 204. 222. 232. 236.
280. 310. 309. 345. 381. 380. 433. 405.]
[ 8. 38. 46. 76. 94. 118. 138. 154. 199. 210. 237. 259.
290. 279. 321. 350. 333. 404. 380. 410.]]
CPU times: user 7h 19min 16s, sys: 10min 43s, total: 7h 29min 59s
Wall time: 7h 24min 24s
In [10]:
with open('DR12QDRbin1.pkl','w') as f:
pickle.dump(dr2d,f)
dr2d
Out[10]:
array([[ 14., 34., 47., 82., 126., 136., 129., 179., 206.,
222., 240., 244., 278., 321., 334., 405., 361., 402.,
403., 432.],
[ 14., 37., 53., 88., 121., 111., 135., 167., 196.,
211., 232., 263., 316., 306., 314., 346., 424., 390.,
418., 415.],
[ 9., 40., 47., 93., 87., 151., 156., 198., 201.,
205., 220., 276., 291., 309., 369., 350., 344., 363.,
404., 458.],
[ 7., 34., 56., 77., 80., 109., 124., 165., 202.,
198., 239., 268., 283., 323., 325., 362., 363., 386.,
392., 446.],
[ 12., 33., 63., 75., 104., 112., 146., 174., 179.,
223., 254., 262., 281., 296., 316., 340., 363., 373.,
469., 394.],
[ 8., 28., 53., 96., 103., 108., 144., 173., 187.,
192., 227., 272., 275., 315., 328., 359., 369., 417.,
394., 403.],
[ 14., 16., 64., 77., 103., 121., 138., 171., 189.,
214., 236., 281., 288., 281., 288., 335., 363., 413.,
419., 417.],
[ 11., 29., 55., 95., 97., 123., 149., 165., 200.,
209., 247., 249., 303., 302., 328., 341., 342., 411.,
419., 443.],
[ 16., 31., 46., 79., 105., 135., 137., 178., 177.,
210., 228., 252., 269., 280., 323., 379., 407., 397.,
386., 436.],
[ 6., 33., 62., 78., 91., 113., 149., 171., 175.,
206., 247., 258., 284., 296., 301., 301., 354., 405.,
418., 430.],
[ 11., 36., 72., 70., 103., 112., 129., 156., 213.,
242., 245., 255., 237., 281., 326., 340., 373., 384.,
401., 418.],
[ 12., 26., 45., 80., 103., 125., 147., 177., 189.,
216., 213., 250., 298., 311., 344., 351., 380., 392.,
384., 417.],
[ 11., 29., 47., 82., 91., 125., 131., 196., 177.,
217., 214., 248., 299., 313., 324., 370., 397., 404.,
375., 429.],
[ 8., 32., 49., 64., 103., 123., 123., 177., 175.,
218., 239., 253., 271., 280., 293., 333., 369., 390.,
398., 440.],
[ 10., 39., 48., 76., 84., 123., 144., 172., 187.,
225., 219., 229., 259., 278., 342., 343., 343., 377.,
426., 423.],
[ 15., 24., 44., 77., 99., 119., 150., 165., 196.,
214., 238., 228., 267., 304., 305., 359., 384., 370.,
360., 398.],
[ 14., 37., 56., 93., 116., 114., 138., 182., 187.,
204., 229., 232., 260., 295., 303., 353., 331., 369.,
392., 407.],
[ 9., 26., 29., 80., 98., 117., 140., 188., 189.,
195., 222., 246., 296., 312., 309., 334., 343., 400.,
400., 425.],
[ 10., 39., 56., 79., 109., 103., 144., 148., 204.,
222., 232., 236., 280., 310., 309., 345., 381., 380.,
433., 405.],
[ 8., 38., 46., 76., 94., 118., 138., 154., 199.,
210., 237., 259., 290., 279., 321., 350., 333., 404.,
380., 410.]])
In [11]:
# Getting back the objects:
with open('../output/DR12Qbin2.pkl') as f: # Python 3: open(..., 'rb')
dat = pickle.load(f)
dat
Out[11]:
array([[ 1.61884600e+00, 7.10000000e-05, 8.42960000e-02],
[ 1.57613400e+00, 1.49000000e-04, 6.05257000e-01],
[ 1.71010300e+00, 1.57000000e-04, 2.66244000e-01],
...,
[ 1.62190900e+00, 6.28264600e+00, -7.35650000e-02],
[ 1.56940900e+00, 6.28270300e+00, -7.70830000e-02],
[ 1.84922100e+00, 6.28282000e+00, 3.38480000e-02]])
Read the data file (taken from http://cosmo.nyu.edu/~eak306/SDSS-LRG.html ) converted to ascii with comoving distance etc. in V01 reading from pkl files for faster read
In [12]:
# Getting back the objects:
with open('../output/randDR12Qbin2.pkl') as f: # Python 3: open(..., 'rb')
datR = pickle.load(f)
datR
Out[12]:
array([[ 1.618846, 3.273344, 0.29723 ],
[ 1.576134, 3.051385, 0.946603],
[ 1.710103, 3.953683, 0.110164],
...,
[ 1.621909, 3.488914, 0.172668],
[ 1.569409, 0.428843, 0.035387],
[ 1.849221, 2.659185, 0.276303]])
In [13]:
dr2d=np.zeros((20,20))
In [14]:
%%time
dist0=d.cdist([dat[0],],datR,APdz)[0]
dist1=d.cdist([dat[0],],datR,APzdth)[0]
print np.histogram2d(dist0, dist1,bins=20, range=rng)
(array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.]]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]))
CPU times: user 530 ms, sys: 37.5 ms, total: 567 ms
Wall time: 539 ms
In [15]:
%%time
for i in tqdm(xrange(len(dat))):
dist0=d.cdist([dat[i],],datR,APdz)[0]
dist1=d.cdist([dat[i],],datR,APzdth)[0]
dr2d+=np.histogram2d(dist0, dist1, bins=20,range=rng)[0]
print dr2d
100%|██████████| 42650/42650 [5:44:03<00:00, 2.14it/s]
[[ 1. 8. 11. 11. 9. 17. 18. 30. 22. 36. 38. 40. 52. 45.
53. 49. 67. 55. 58. 69.]
[ 0. 4. 14. 10. 20. 21. 22. 26. 24. 30. 39. 31. 48. 42.
45. 47. 62. 55. 66. 69.]
[ 4. 4. 5. 12. 23. 10. 23. 23. 37. 40. 30. 37. 42. 48.
51. 44. 55. 65. 51. 69.]
[ 1. 6. 8. 16. 19. 24. 23. 29. 35. 38. 38. 32. 43. 35.
48. 47. 46. 58. 63. 74.]
[ 3. 5. 9. 13. 14. 16. 32. 26. 36. 29. 33. 36. 37. 34.
37. 46. 64. 46. 72. 64.]
[ 1. 6. 9. 20. 17. 17. 24. 32. 27. 21. 35. 48. 45. 46.
34. 50. 59. 56. 68. 54.]
[ 2. 7. 13. 12. 15. 15. 19. 19. 29. 29. 39. 33. 49. 51.
49. 45. 53. 64. 69. 71.]
[ 4. 6. 16. 21. 15. 25. 17. 36. 23. 28. 34. 42. 35. 35.
45. 46. 43. 58. 47. 71.]
[ 1. 7. 8. 14. 14. 23. 12. 22. 27. 38. 42. 30. 42. 43.
53. 47. 47. 61. 55. 60.]
[ 1. 7. 9. 8. 17. 20. 24. 22. 20. 39. 34. 22. 42. 51.
36. 46. 56. 63. 67. 53.]
[ 1. 3. 13. 10. 15. 22. 26. 24. 39. 31. 38. 42. 39. 45.
57. 43. 55. 56. 64. 58.]
[ 1. 1. 10. 10. 15. 22. 19. 28. 37. 46. 41. 40. 44. 38.
49. 49. 58. 56. 53. 62.]
[ 0. 4. 9. 15. 10. 15. 23. 24. 32. 37. 40. 37. 44. 49.
44. 62. 49. 68. 61. 62.]
[ 1. 7. 13. 14. 15. 20. 14. 19. 27. 31. 30. 54. 43. 42.
50. 48. 56. 61. 55. 75.]
[ 3. 2. 6. 13. 8. 18. 34. 33. 28. 28. 35. 35. 35. 46.
59. 57. 58. 53. 75. 68.]
[ 3. 6. 6. 15. 11. 22. 14. 25. 26. 24. 26. 32. 38. 35.
41. 67. 55. 48. 45. 66.]
[ 4. 1. 8. 16. 18. 23. 26. 23. 28. 24. 41. 32. 43. 39.
53. 50. 55. 53. 66. 66.]
[ 1. 5. 9. 7. 16. 16. 25. 20. 20. 38. 32. 48. 43. 35.
52. 55. 62. 66. 68. 73.]
[ 2. 5. 11. 11. 10. 15. 29. 26. 35. 30. 35. 30. 47. 38.
45. 42. 54. 59. 70. 59.]
[ 0. 5. 9. 10. 12. 15. 25. 19. 24. 25. 27. 36. 41. 44.
44. 55. 41. 53. 64. 71.]]
CPU times: user 5h 41min 27s, sys: 8min 40s, total: 5h 50min 8s
Wall time: 5h 44min 3s
In [16]:
with open('DR12QDRbin2.pkl','w') as f:
pickle.dump(dr2d,f)
dr2d
Out[16]:
array([[ 1., 8., 11., 11., 9., 17., 18., 30., 22., 36., 38.,
40., 52., 45., 53., 49., 67., 55., 58., 69.],
[ 0., 4., 14., 10., 20., 21., 22., 26., 24., 30., 39.,
31., 48., 42., 45., 47., 62., 55., 66., 69.],
[ 4., 4., 5., 12., 23., 10., 23., 23., 37., 40., 30.,
37., 42., 48., 51., 44., 55., 65., 51., 69.],
[ 1., 6., 8., 16., 19., 24., 23., 29., 35., 38., 38.,
32., 43., 35., 48., 47., 46., 58., 63., 74.],
[ 3., 5., 9., 13., 14., 16., 32., 26., 36., 29., 33.,
36., 37., 34., 37., 46., 64., 46., 72., 64.],
[ 1., 6., 9., 20., 17., 17., 24., 32., 27., 21., 35.,
48., 45., 46., 34., 50., 59., 56., 68., 54.],
[ 2., 7., 13., 12., 15., 15., 19., 19., 29., 29., 39.,
33., 49., 51., 49., 45., 53., 64., 69., 71.],
[ 4., 6., 16., 21., 15., 25., 17., 36., 23., 28., 34.,
42., 35., 35., 45., 46., 43., 58., 47., 71.],
[ 1., 7., 8., 14., 14., 23., 12., 22., 27., 38., 42.,
30., 42., 43., 53., 47., 47., 61., 55., 60.],
[ 1., 7., 9., 8., 17., 20., 24., 22., 20., 39., 34.,
22., 42., 51., 36., 46., 56., 63., 67., 53.],
[ 1., 3., 13., 10., 15., 22., 26., 24., 39., 31., 38.,
42., 39., 45., 57., 43., 55., 56., 64., 58.],
[ 1., 1., 10., 10., 15., 22., 19., 28., 37., 46., 41.,
40., 44., 38., 49., 49., 58., 56., 53., 62.],
[ 0., 4., 9., 15., 10., 15., 23., 24., 32., 37., 40.,
37., 44., 49., 44., 62., 49., 68., 61., 62.],
[ 1., 7., 13., 14., 15., 20., 14., 19., 27., 31., 30.,
54., 43., 42., 50., 48., 56., 61., 55., 75.],
[ 3., 2., 6., 13., 8., 18., 34., 33., 28., 28., 35.,
35., 35., 46., 59., 57., 58., 53., 75., 68.],
[ 3., 6., 6., 15., 11., 22., 14., 25., 26., 24., 26.,
32., 38., 35., 41., 67., 55., 48., 45., 66.],
[ 4., 1., 8., 16., 18., 23., 26., 23., 28., 24., 41.,
32., 43., 39., 53., 50., 55., 53., 66., 66.],
[ 1., 5., 9., 7., 16., 16., 25., 20., 20., 38., 32.,
48., 43., 35., 52., 55., 62., 66., 68., 73.],
[ 2., 5., 11., 11., 10., 15., 29., 26., 35., 30., 35.,
30., 47., 38., 45., 42., 54., 59., 70., 59.],
[ 0., 5., 9., 10., 12., 15., 25., 19., 24., 25., 27.,
36., 41., 44., 44., 55., 41., 53., 64., 71.]])
In [ ]:
In [17]:
# Getting back the objects:
with open('../output/DR12Qbin3.pkl') as f: # Python 3: open(..., 'rb')
dat = pickle.load(f)
dat
Out[17]:
array([[ 2.30909700e+00, 3.30000000e-05, 3.10210000e-01],
[ 2.49794100e+00, 4.80000000e-05, 2.61357000e-01],
[ 2.33265500e+00, 1.00000000e-04, -2.31260000e-02],
...,
[ 2.41550800e+00, 6.28316600e+00, 1.76571000e-01],
[ 2.45101500e+00, 6.28317000e+00, 5.05355000e-01],
[ 2.39766700e+00, 6.28318400e+00, 6.06452000e-01]])
Read the data file (taken from http://cosmo.nyu.edu/~eak306/SDSS-LRG.html ) converted to ascii with comoving distance etc. in V01 reading from pkl files for faster read
In [18]:
# Getting back the objects:
with open('../output/randDR12Qbin3.pkl') as f: # Python 3: open(..., 'rb')
datR = pickle.load(f)
datR
Out[18]:
array([[ 2.30909700e+00, 3.30000000e-05, 3.10210000e-01],
[ 2.49794100e+00, 4.80000000e-05, 2.61357000e-01],
[ 2.33265500e+00, 1.00000000e-04, -2.31260000e-02],
...,
[ 2.41550800e+00, 6.28316600e+00, 1.76571000e-01],
[ 2.45101500e+00, 6.28317000e+00, 5.05355000e-01],
[ 2.39766700e+00, 6.28318400e+00, 6.06452000e-01]])
In [19]:
dr2d=np.zeros((20,20))
In [20]:
%%time
dist0=d.cdist([dat[0],],datR,APdz)[0]
dist1=d.cdist([dat[0],],datR,APzdth)[0]
print np.histogram2d(dist0, dist1,bins=20, range=rng)
(array([[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.]]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]))
CPU times: user 1.64 s, sys: 132 ms, total: 1.77 s
Wall time: 1.66 s
In [21]:
%%time
for i in tqdm(xrange(len(dat))):
dist0=d.cdist([dat[i],],datR,APdz)[0]
dist1=d.cdist([dat[i],],datR,APzdth)[0]
dr2d+=np.histogram2d(dist0, dist1, bins=20,range=rng)[0]
print dr2d
0%| | 1/139641 [00:01<63:01:28, 1.62s/it]/Users/rohin/anaconda/lib/python2.7/site-packages/numpy/lib/function_base.py:804: RuntimeWarning: invalid value encountered in greater_equal
not_smaller_than_edge = (sample[:, i] >= edges[i][-1])
100%|██████████| 139641/139641 [53:43:13<00:00, 1.08s/it]
[[ 1.32978000e+05 1.08000000e+02 1.26000000e+02 1.68000000e+02
1.64000000e+02 2.16000000e+02 2.08000000e+02 2.08000000e+02
2.40000000e+02 3.30000000e+02 3.26000000e+02 3.16000000e+02
3.56000000e+02 3.26000000e+02 3.16000000e+02 3.92000000e+02
3.86000000e+02 4.62000000e+02 4.84000000e+02 5.42000000e+02]
[ 4.00000000e+01 1.20000000e+02 1.62000000e+02 1.42000000e+02
2.14000000e+02 1.94000000e+02 1.88000000e+02 2.14000000e+02
3.08000000e+02 3.02000000e+02 2.58000000e+02 3.50000000e+02
3.14000000e+02 3.82000000e+02 3.70000000e+02 4.18000000e+02
4.14000000e+02 4.44000000e+02 5.20000000e+02 5.18000000e+02]
[ 3.40000000e+01 1.16000000e+02 1.36000000e+02 1.62000000e+02
1.96000000e+02 2.42000000e+02 1.78000000e+02 2.22000000e+02
2.84000000e+02 2.48000000e+02 3.08000000e+02 2.92000000e+02
3.86000000e+02 4.02000000e+02 3.58000000e+02 4.02000000e+02
4.22000000e+02 4.46000000e+02 4.72000000e+02 5.30000000e+02]
[ 4.80000000e+01 1.18000000e+02 1.38000000e+02 1.48000000e+02
1.58000000e+02 2.12000000e+02 2.14000000e+02 2.32000000e+02
2.50000000e+02 2.66000000e+02 3.20000000e+02 3.52000000e+02
3.50000000e+02 2.74000000e+02 3.58000000e+02 3.76000000e+02
4.08000000e+02 4.58000000e+02 4.92000000e+02 5.18000000e+02]
[ 3.20000000e+01 1.08000000e+02 1.20000000e+02 1.62000000e+02
1.72000000e+02 1.62000000e+02 2.02000000e+02 2.60000000e+02
2.30000000e+02 2.96000000e+02 3.16000000e+02 3.16000000e+02
3.26000000e+02 3.62000000e+02 3.70000000e+02 4.18000000e+02
4.12000000e+02 4.48000000e+02 4.28000000e+02 5.14000000e+02]
[ 5.40000000e+01 1.00000000e+02 1.26000000e+02 1.60000000e+02
1.58000000e+02 1.94000000e+02 2.22000000e+02 2.70000000e+02
2.52000000e+02 3.16000000e+02 2.92000000e+02 3.58000000e+02
3.38000000e+02 3.72000000e+02 3.56000000e+02 4.02000000e+02
4.44000000e+02 5.12000000e+02 4.58000000e+02 4.72000000e+02]
[ 4.40000000e+01 1.14000000e+02 1.50000000e+02 1.52000000e+02
2.00000000e+02 1.86000000e+02 2.10000000e+02 1.90000000e+02
2.28000000e+02 2.72000000e+02 2.84000000e+02 3.12000000e+02
3.30000000e+02 4.04000000e+02 3.26000000e+02 3.96000000e+02
4.50000000e+02 4.58000000e+02 4.32000000e+02 5.34000000e+02]
[ 3.60000000e+01 6.80000000e+01 1.24000000e+02 1.62000000e+02
1.88000000e+02 1.78000000e+02 2.26000000e+02 2.52000000e+02
2.44000000e+02 2.94000000e+02 2.90000000e+02 3.04000000e+02
3.30000000e+02 3.76000000e+02 3.88000000e+02 3.88000000e+02
4.34000000e+02 4.34000000e+02 4.24000000e+02 4.88000000e+02]
[ 2.80000000e+01 1.06000000e+02 1.12000000e+02 1.20000000e+02
1.50000000e+02 1.88000000e+02 1.88000000e+02 2.08000000e+02
2.48000000e+02 2.96000000e+02 3.16000000e+02 3.50000000e+02
3.36000000e+02 3.50000000e+02 3.78000000e+02 4.52000000e+02
4.18000000e+02 5.22000000e+02 4.30000000e+02 5.28000000e+02]
[ 4.20000000e+01 7.60000000e+01 1.20000000e+02 1.54000000e+02
1.50000000e+02 1.66000000e+02 2.38000000e+02 2.20000000e+02
2.28000000e+02 2.78000000e+02 3.06000000e+02 3.30000000e+02
3.18000000e+02 3.62000000e+02 3.96000000e+02 4.56000000e+02
4.18000000e+02 4.24000000e+02 4.76000000e+02 4.68000000e+02]
[ 4.20000000e+01 5.40000000e+01 1.40000000e+02 1.44000000e+02
1.72000000e+02 1.62000000e+02 2.18000000e+02 2.16000000e+02
2.38000000e+02 3.38000000e+02 3.18000000e+02 3.14000000e+02
3.26000000e+02 3.68000000e+02 4.00000000e+02 3.82000000e+02
4.16000000e+02 4.06000000e+02 4.34000000e+02 4.64000000e+02]
[ 3.60000000e+01 9.60000000e+01 9.00000000e+01 1.30000000e+02
1.74000000e+02 1.80000000e+02 2.28000000e+02 2.22000000e+02
2.68000000e+02 2.38000000e+02 2.86000000e+02 3.08000000e+02
3.52000000e+02 3.28000000e+02 3.76000000e+02 4.26000000e+02
3.98000000e+02 4.28000000e+02 4.98000000e+02 4.92000000e+02]
[ 2.00000000e+01 9.60000000e+01 9.60000000e+01 1.44000000e+02
1.62000000e+02 2.12000000e+02 2.28000000e+02 2.10000000e+02
2.64000000e+02 2.60000000e+02 3.22000000e+02 3.22000000e+02
3.74000000e+02 3.54000000e+02 3.82000000e+02 4.38000000e+02
4.20000000e+02 4.68000000e+02 4.30000000e+02 4.42000000e+02]
[ 2.80000000e+01 7.00000000e+01 9.00000000e+01 1.26000000e+02
1.54000000e+02 1.78000000e+02 1.82000000e+02 1.76000000e+02
2.46000000e+02 2.96000000e+02 3.12000000e+02 3.02000000e+02
3.08000000e+02 3.54000000e+02 3.76000000e+02 4.18000000e+02
3.74000000e+02 4.26000000e+02 4.56000000e+02 4.48000000e+02]
[ 2.60000000e+01 8.00000000e+01 1.06000000e+02 1.28000000e+02
1.50000000e+02 1.76000000e+02 2.08000000e+02 2.62000000e+02
2.32000000e+02 2.86000000e+02 2.78000000e+02 2.96000000e+02
3.56000000e+02 3.38000000e+02 3.76000000e+02 3.68000000e+02
4.04000000e+02 4.36000000e+02 4.42000000e+02 4.08000000e+02]
[ 2.60000000e+01 5.80000000e+01 1.02000000e+02 1.06000000e+02
1.22000000e+02 1.74000000e+02 2.14000000e+02 2.36000000e+02
2.40000000e+02 2.42000000e+02 2.78000000e+02 2.60000000e+02
3.42000000e+02 3.14000000e+02 3.72000000e+02 3.74000000e+02
4.12000000e+02 4.24000000e+02 3.92000000e+02 4.88000000e+02]
[ 2.00000000e+01 7.40000000e+01 1.02000000e+02 1.36000000e+02
1.76000000e+02 1.46000000e+02 1.38000000e+02 2.04000000e+02
2.18000000e+02 2.50000000e+02 2.64000000e+02 2.94000000e+02
3.86000000e+02 3.82000000e+02 3.44000000e+02 3.76000000e+02
3.92000000e+02 4.78000000e+02 4.78000000e+02 4.84000000e+02]
[ 3.00000000e+01 5.00000000e+01 1.04000000e+02 1.18000000e+02
1.46000000e+02 1.38000000e+02 1.66000000e+02 1.96000000e+02
2.06000000e+02 2.74000000e+02 3.56000000e+02 3.02000000e+02
3.46000000e+02 3.30000000e+02 3.76000000e+02 4.06000000e+02
3.94000000e+02 4.14000000e+02 4.62000000e+02 4.82000000e+02]
[ 3.20000000e+01 5.20000000e+01 1.08000000e+02 9.40000000e+01
1.20000000e+02 1.46000000e+02 2.12000000e+02 2.10000000e+02
2.28000000e+02 2.54000000e+02 2.90000000e+02 2.98000000e+02
3.18000000e+02 3.88000000e+02 3.36000000e+02 4.16000000e+02
4.64000000e+02 4.52000000e+02 4.08000000e+02 4.66000000e+02]
[ 6.00000000e+00 5.80000000e+01 8.40000000e+01 1.24000000e+02
1.30000000e+02 1.48000000e+02 1.80000000e+02 1.66000000e+02
2.56000000e+02 2.38000000e+02 3.00000000e+02 2.36000000e+02
3.42000000e+02 3.50000000e+02 3.52000000e+02 3.20000000e+02
4.48000000e+02 4.92000000e+02 4.56000000e+02 4.38000000e+02]]
CPU times: user 1d 21h 39min 20s, sys: 1h 54min 34s, total: 1d 23h 33min 54s
Wall time: 2d 5h 43min 13s
In [22]:
with open('DR12QDRbin3.pkl','w') as f:
pickle.dump(dr2d,f)
dr2d
Out[22]:
array([[ 1.32978000e+05, 1.08000000e+02, 1.26000000e+02,
1.68000000e+02, 1.64000000e+02, 2.16000000e+02,
2.08000000e+02, 2.08000000e+02, 2.40000000e+02,
3.30000000e+02, 3.26000000e+02, 3.16000000e+02,
3.56000000e+02, 3.26000000e+02, 3.16000000e+02,
3.92000000e+02, 3.86000000e+02, 4.62000000e+02,
4.84000000e+02, 5.42000000e+02],
[ 4.00000000e+01, 1.20000000e+02, 1.62000000e+02,
1.42000000e+02, 2.14000000e+02, 1.94000000e+02,
1.88000000e+02, 2.14000000e+02, 3.08000000e+02,
3.02000000e+02, 2.58000000e+02, 3.50000000e+02,
3.14000000e+02, 3.82000000e+02, 3.70000000e+02,
4.18000000e+02, 4.14000000e+02, 4.44000000e+02,
5.20000000e+02, 5.18000000e+02],
[ 3.40000000e+01, 1.16000000e+02, 1.36000000e+02,
1.62000000e+02, 1.96000000e+02, 2.42000000e+02,
1.78000000e+02, 2.22000000e+02, 2.84000000e+02,
2.48000000e+02, 3.08000000e+02, 2.92000000e+02,
3.86000000e+02, 4.02000000e+02, 3.58000000e+02,
4.02000000e+02, 4.22000000e+02, 4.46000000e+02,
4.72000000e+02, 5.30000000e+02],
[ 4.80000000e+01, 1.18000000e+02, 1.38000000e+02,
1.48000000e+02, 1.58000000e+02, 2.12000000e+02,
2.14000000e+02, 2.32000000e+02, 2.50000000e+02,
2.66000000e+02, 3.20000000e+02, 3.52000000e+02,
3.50000000e+02, 2.74000000e+02, 3.58000000e+02,
3.76000000e+02, 4.08000000e+02, 4.58000000e+02,
4.92000000e+02, 5.18000000e+02],
[ 3.20000000e+01, 1.08000000e+02, 1.20000000e+02,
1.62000000e+02, 1.72000000e+02, 1.62000000e+02,
2.02000000e+02, 2.60000000e+02, 2.30000000e+02,
2.96000000e+02, 3.16000000e+02, 3.16000000e+02,
3.26000000e+02, 3.62000000e+02, 3.70000000e+02,
4.18000000e+02, 4.12000000e+02, 4.48000000e+02,
4.28000000e+02, 5.14000000e+02],
[ 5.40000000e+01, 1.00000000e+02, 1.26000000e+02,
1.60000000e+02, 1.58000000e+02, 1.94000000e+02,
2.22000000e+02, 2.70000000e+02, 2.52000000e+02,
3.16000000e+02, 2.92000000e+02, 3.58000000e+02,
3.38000000e+02, 3.72000000e+02, 3.56000000e+02,
4.02000000e+02, 4.44000000e+02, 5.12000000e+02,
4.58000000e+02, 4.72000000e+02],
[ 4.40000000e+01, 1.14000000e+02, 1.50000000e+02,
1.52000000e+02, 2.00000000e+02, 1.86000000e+02,
2.10000000e+02, 1.90000000e+02, 2.28000000e+02,
2.72000000e+02, 2.84000000e+02, 3.12000000e+02,
3.30000000e+02, 4.04000000e+02, 3.26000000e+02,
3.96000000e+02, 4.50000000e+02, 4.58000000e+02,
4.32000000e+02, 5.34000000e+02],
[ 3.60000000e+01, 6.80000000e+01, 1.24000000e+02,
1.62000000e+02, 1.88000000e+02, 1.78000000e+02,
2.26000000e+02, 2.52000000e+02, 2.44000000e+02,
2.94000000e+02, 2.90000000e+02, 3.04000000e+02,
3.30000000e+02, 3.76000000e+02, 3.88000000e+02,
3.88000000e+02, 4.34000000e+02, 4.34000000e+02,
4.24000000e+02, 4.88000000e+02],
[ 2.80000000e+01, 1.06000000e+02, 1.12000000e+02,
1.20000000e+02, 1.50000000e+02, 1.88000000e+02,
1.88000000e+02, 2.08000000e+02, 2.48000000e+02,
2.96000000e+02, 3.16000000e+02, 3.50000000e+02,
3.36000000e+02, 3.50000000e+02, 3.78000000e+02,
4.52000000e+02, 4.18000000e+02, 5.22000000e+02,
4.30000000e+02, 5.28000000e+02],
[ 4.20000000e+01, 7.60000000e+01, 1.20000000e+02,
1.54000000e+02, 1.50000000e+02, 1.66000000e+02,
2.38000000e+02, 2.20000000e+02, 2.28000000e+02,
2.78000000e+02, 3.06000000e+02, 3.30000000e+02,
3.18000000e+02, 3.62000000e+02, 3.96000000e+02,
4.56000000e+02, 4.18000000e+02, 4.24000000e+02,
4.76000000e+02, 4.68000000e+02],
[ 4.20000000e+01, 5.40000000e+01, 1.40000000e+02,
1.44000000e+02, 1.72000000e+02, 1.62000000e+02,
2.18000000e+02, 2.16000000e+02, 2.38000000e+02,
3.38000000e+02, 3.18000000e+02, 3.14000000e+02,
3.26000000e+02, 3.68000000e+02, 4.00000000e+02,
3.82000000e+02, 4.16000000e+02, 4.06000000e+02,
4.34000000e+02, 4.64000000e+02],
[ 3.60000000e+01, 9.60000000e+01, 9.00000000e+01,
1.30000000e+02, 1.74000000e+02, 1.80000000e+02,
2.28000000e+02, 2.22000000e+02, 2.68000000e+02,
2.38000000e+02, 2.86000000e+02, 3.08000000e+02,
3.52000000e+02, 3.28000000e+02, 3.76000000e+02,
4.26000000e+02, 3.98000000e+02, 4.28000000e+02,
4.98000000e+02, 4.92000000e+02],
[ 2.00000000e+01, 9.60000000e+01, 9.60000000e+01,
1.44000000e+02, 1.62000000e+02, 2.12000000e+02,
2.28000000e+02, 2.10000000e+02, 2.64000000e+02,
2.60000000e+02, 3.22000000e+02, 3.22000000e+02,
3.74000000e+02, 3.54000000e+02, 3.82000000e+02,
4.38000000e+02, 4.20000000e+02, 4.68000000e+02,
4.30000000e+02, 4.42000000e+02],
[ 2.80000000e+01, 7.00000000e+01, 9.00000000e+01,
1.26000000e+02, 1.54000000e+02, 1.78000000e+02,
1.82000000e+02, 1.76000000e+02, 2.46000000e+02,
2.96000000e+02, 3.12000000e+02, 3.02000000e+02,
3.08000000e+02, 3.54000000e+02, 3.76000000e+02,
4.18000000e+02, 3.74000000e+02, 4.26000000e+02,
4.56000000e+02, 4.48000000e+02],
[ 2.60000000e+01, 8.00000000e+01, 1.06000000e+02,
1.28000000e+02, 1.50000000e+02, 1.76000000e+02,
2.08000000e+02, 2.62000000e+02, 2.32000000e+02,
2.86000000e+02, 2.78000000e+02, 2.96000000e+02,
3.56000000e+02, 3.38000000e+02, 3.76000000e+02,
3.68000000e+02, 4.04000000e+02, 4.36000000e+02,
4.42000000e+02, 4.08000000e+02],
[ 2.60000000e+01, 5.80000000e+01, 1.02000000e+02,
1.06000000e+02, 1.22000000e+02, 1.74000000e+02,
2.14000000e+02, 2.36000000e+02, 2.40000000e+02,
2.42000000e+02, 2.78000000e+02, 2.60000000e+02,
3.42000000e+02, 3.14000000e+02, 3.72000000e+02,
3.74000000e+02, 4.12000000e+02, 4.24000000e+02,
3.92000000e+02, 4.88000000e+02],
[ 2.00000000e+01, 7.40000000e+01, 1.02000000e+02,
1.36000000e+02, 1.76000000e+02, 1.46000000e+02,
1.38000000e+02, 2.04000000e+02, 2.18000000e+02,
2.50000000e+02, 2.64000000e+02, 2.94000000e+02,
3.86000000e+02, 3.82000000e+02, 3.44000000e+02,
3.76000000e+02, 3.92000000e+02, 4.78000000e+02,
4.78000000e+02, 4.84000000e+02],
[ 3.00000000e+01, 5.00000000e+01, 1.04000000e+02,
1.18000000e+02, 1.46000000e+02, 1.38000000e+02,
1.66000000e+02, 1.96000000e+02, 2.06000000e+02,
2.74000000e+02, 3.56000000e+02, 3.02000000e+02,
3.46000000e+02, 3.30000000e+02, 3.76000000e+02,
4.06000000e+02, 3.94000000e+02, 4.14000000e+02,
4.62000000e+02, 4.82000000e+02],
[ 3.20000000e+01, 5.20000000e+01, 1.08000000e+02,
9.40000000e+01, 1.20000000e+02, 1.46000000e+02,
2.12000000e+02, 2.10000000e+02, 2.28000000e+02,
2.54000000e+02, 2.90000000e+02, 2.98000000e+02,
3.18000000e+02, 3.88000000e+02, 3.36000000e+02,
4.16000000e+02, 4.64000000e+02, 4.52000000e+02,
4.08000000e+02, 4.66000000e+02],
[ 6.00000000e+00, 5.80000000e+01, 8.40000000e+01,
1.24000000e+02, 1.30000000e+02, 1.48000000e+02,
1.80000000e+02, 1.66000000e+02, 2.56000000e+02,
2.38000000e+02, 3.00000000e+02, 2.36000000e+02,
3.42000000e+02, 3.50000000e+02, 3.52000000e+02,
3.20000000e+02, 4.48000000e+02, 4.92000000e+02,
4.56000000e+02, 4.38000000e+02]])
In [ ]:
In [23]:
# Getting back the objects:
with open('../output/DR12Qbin4.pkl') as f: # Python 3: open(..., 'rb')
dat = pickle.load(f)
dat
Out[23]:
array([[ 3.08883900e+00, 1.03000000e-04, 3.49280000e-01],
[ 2.90644800e+00, 2.52000000e-04, 2.80095000e-01],
[ 2.87937200e+00, 3.61000000e-04, -4.85800000e-03],
...,
[ 3.16691100e+00, 6.28303300e+00, 6.24115000e-01],
[ 3.06474900e+00, 6.28308500e+00, 7.52100000e-03],
[ 3.11339100e+00, 6.28317300e+00, 6.05993000e-01]])
Read the data file (taken from http://cosmo.nyu.edu/~eak306/SDSS-LRG.html ) converted to ascii with comoving distance etc. in V01 reading from pkl files for faster read
In [24]:
# Getting back the objects:
with open('../output/randDR12Qbin4.pkl') as f: # Python 3: open(..., 'rb')
datR = pickle.load(f)
datR
Out[24]:
array([[ 3.088839, 3.509669, 0.526771],
[ 2.906448, 5.746496, 0.024581],
[ 2.879372, 2.298062, 0.193726],
...,
[ 3.166911, 0.098733, 0.085691],
[ 3.064749, 6.228745, 0.393404],
[ 3.113391, 5.734536, 0.043476]])
In [25]:
dr2d=np.zeros((20,20))
In [26]:
%%time
dist0=d.cdist([dat[0],],datR,APdz)[0]
dist1=d.cdist([dat[0],],datR,APzdth)[0]
print np.histogram2d(dist0, dist1,bins=20, range=rng)
(array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.]]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]), array([ 0. , 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007,
0.008, 0.009, 0.01 , 0.011, 0.012, 0.013, 0.014, 0.015,
0.016, 0.017, 0.018, 0.019, 0.02 ]))
CPU times: user 343 ms, sys: 48.1 ms, total: 391 ms
Wall time: 353 ms
In [27]:
%%time
for i in tqdm(xrange(len(dat))):
dist0=d.cdist([dat[i],],datR,APdz)[0]
dist1=d.cdist([dat[i],],datR,APzdth)[0]
dr2d+=np.histogram2d(dist0, dist1, bins=20,range=rng)[0]
print dr2d
100%|██████████| 42945/42945 [3:56:40<00:00, 3.13it/s]
[[ 1. 2. 1. 8. 4. 10. 8. 20. 11. 10. 12. 11. 18. 19.
15. 16. 16. 28. 21. 31.]
[ 1. 3. 6. 2. 6. 5. 8. 10. 12. 13. 12. 11. 19. 19.
28. 17. 30. 28. 23. 20.]
[ 2. 2. 2. 6. 4. 7. 6. 9. 16. 13. 14. 14. 21. 21.
23. 22. 29. 23. 21. 31.]
[ 2. 3. 3. 9. 12. 7. 14. 5. 14. 16. 17. 17. 21. 17.
14. 25. 22. 17. 27. 27.]
[ 0. 0. 2. 4. 5. 8. 8. 6. 12. 17. 18. 13. 14. 16.
18. 31. 23. 17. 29. 17.]
[ 0. 1. 2. 2. 1. 7. 10. 9. 18. 10. 8. 15. 12. 22.
14. 13. 20. 21. 23. 29.]
[ 0. 2. 1. 6. 3. 9. 4. 13. 11. 9. 6. 9. 20. 17.
23. 23. 26. 33. 26. 20.]
[ 0. 2. 3. 3. 6. 8. 9. 10. 11. 7. 18. 19. 9. 19.
19. 20. 20. 22. 18. 24.]
[ 0. 0. 3. 5. 6. 6. 11. 10. 17. 8. 12. 13. 11. 25.
24. 14. 19. 26. 19. 21.]
[ 3. 2. 6. 5. 7. 5. 11. 7. 14. 11. 15. 16. 20. 22.
19. 19. 27. 21. 20. 31.]
[ 0. 3. 1. 4. 6. 6. 12. 11. 12. 8. 22. 12. 21. 21.
28. 17. 20. 19. 17. 24.]
[ 0. 2. 3. 8. 4. 8. 11. 13. 13. 14. 16. 15. 15. 12.
18. 23. 30. 24. 25. 25.]
[ 0. 0. 2. 2. 8. 4. 11. 12. 19. 8. 22. 17. 18. 11.
19. 18. 27. 16. 25. 28.]
[ 0. 2. 7. 9. 5. 11. 6. 18. 13. 14. 15. 18. 16. 20.
18. 22. 24. 22. 23. 21.]
[ 1. 0. 6. 5. 5. 6. 9. 7. 9. 9. 9. 25. 11. 19.
19. 13. 35. 22. 39. 27.]
[ 2. 6. 6. 10. 5. 8. 13. 6. 11. 10. 9. 16. 14. 18.
17. 25. 20. 28. 33. 22.]
[ 4. 5. 6. 3. 7. 9. 9. 12. 14. 15. 17. 18. 18. 18.
10. 21. 21. 29. 23. 20.]
[ 0. 2. 4. 8. 5. 11. 12. 14. 13. 15. 11. 12. 9. 19.
21. 26. 27. 24. 42. 17.]
[ 1. 2. 1. 4. 6. 11. 5. 9. 8. 12. 5. 16. 11. 20.
15. 19. 22. 28. 21. 19.]
[ 1. 2. 1. 5. 4. 3. 13. 9. 5. 7. 20. 12. 17. 11.
20. 19. 18. 26. 20. 15.]]
CPU times: user 3h 53min 36s, sys: 11min 47s, total: 4h 5min 23s
Wall time: 3h 56min 40s
In [28]:
with open('DR12QDRbin4.pkl','w') as f:
pickle.dump(dr2d,f)
dr2d
Out[28]:
array([[ 1., 2., 1., 8., 4., 10., 8., 20., 11., 10., 12.,
11., 18., 19., 15., 16., 16., 28., 21., 31.],
[ 1., 3., 6., 2., 6., 5., 8., 10., 12., 13., 12.,
11., 19., 19., 28., 17., 30., 28., 23., 20.],
[ 2., 2., 2., 6., 4., 7., 6., 9., 16., 13., 14.,
14., 21., 21., 23., 22., 29., 23., 21., 31.],
[ 2., 3., 3., 9., 12., 7., 14., 5., 14., 16., 17.,
17., 21., 17., 14., 25., 22., 17., 27., 27.],
[ 0., 0., 2., 4., 5., 8., 8., 6., 12., 17., 18.,
13., 14., 16., 18., 31., 23., 17., 29., 17.],
[ 0., 1., 2., 2., 1., 7., 10., 9., 18., 10., 8.,
15., 12., 22., 14., 13., 20., 21., 23., 29.],
[ 0., 2., 1., 6., 3., 9., 4., 13., 11., 9., 6.,
9., 20., 17., 23., 23., 26., 33., 26., 20.],
[ 0., 2., 3., 3., 6., 8., 9., 10., 11., 7., 18.,
19., 9., 19., 19., 20., 20., 22., 18., 24.],
[ 0., 0., 3., 5., 6., 6., 11., 10., 17., 8., 12.,
13., 11., 25., 24., 14., 19., 26., 19., 21.],
[ 3., 2., 6., 5., 7., 5., 11., 7., 14., 11., 15.,
16., 20., 22., 19., 19., 27., 21., 20., 31.],
[ 0., 3., 1., 4., 6., 6., 12., 11., 12., 8., 22.,
12., 21., 21., 28., 17., 20., 19., 17., 24.],
[ 0., 2., 3., 8., 4., 8., 11., 13., 13., 14., 16.,
15., 15., 12., 18., 23., 30., 24., 25., 25.],
[ 0., 0., 2., 2., 8., 4., 11., 12., 19., 8., 22.,
17., 18., 11., 19., 18., 27., 16., 25., 28.],
[ 0., 2., 7., 9., 5., 11., 6., 18., 13., 14., 15.,
18., 16., 20., 18., 22., 24., 22., 23., 21.],
[ 1., 0., 6., 5., 5., 6., 9., 7., 9., 9., 9.,
25., 11., 19., 19., 13., 35., 22., 39., 27.],
[ 2., 6., 6., 10., 5., 8., 13., 6., 11., 10., 9.,
16., 14., 18., 17., 25., 20., 28., 33., 22.],
[ 4., 5., 6., 3., 7., 9., 9., 12., 14., 15., 17.,
18., 18., 18., 10., 21., 21., 29., 23., 20.],
[ 0., 2., 4., 8., 5., 11., 12., 14., 13., 15., 11.,
12., 9., 19., 21., 26., 27., 24., 42., 17.],
[ 1., 2., 1., 4., 6., 11., 5., 9., 8., 12., 5.,
16., 11., 20., 15., 19., 22., 28., 21., 19.],
[ 1., 2., 1., 5., 4., 3., 13., 9., 5., 7., 20.,
12., 17., 11., 20., 19., 18., 26., 20., 15.]])
In [ ]:
Content source: rohinkumar/galsurveystudy
Similar notebooks: