title: Generating random number for a distribution of a real data?
body: <p>I have a set of real data and I want use this data to find a probability distribution and then use their property to generate some random points according to their pdf. A sample of my data set is as following:</p>
  
  <pre><code>#Mag Weight
  21.9786 3.6782
  24.0305 6.1120
  21.9544 4.2225
  23.9383 5.1375
  23.9352 4.6499
  23.0261 5.1355
  23.8682 5.9932
  24.8052 4.1765
  22.8976 5.1901
  23.9679 4.3190
  25.3362 4.1519
  24.9079 4.2090
  23.9851 5.1951
  22.2094 5.1570
  22.3452 5.6159
  24.0953 6.2697
  24.3901 6.9299
  24.1789 4.0222
  24.2648 4.4997
  25.3931 3.3920
  25.8406 3.9587
  23.1427 6.9398
  21.2985 7.7582
  25.4807 3.1112
  25.1935 5.0913
  25.2136 4.0578
  24.6990 3.9899
  23.5299 4.6788
  24.0880 7.0576
  24.7931 5.7088
  25.1860 3.4825
  24.4757 5.8500
  24.1398 4.9842
  23.4947 4.4730
  20.9806 5.2717
  25.9470 3.4706
  25.0324 3.3879
  24.7186 3.8443
  24.3350 4.9140
  24.6395 5.0757
  23.9181 4.9951
  24.3599 4.1125
  24.1766 5.4360
  24.8378 4.9121
  24.7362 4.4237
  24.4119 6.1648
  23.8215 5.9184
  21.5394 5.1542
  24.0081 4.2308
  24.5665 4.6922
  23.5827 5.4992
  23.3876 6.3692
  25.6872 4.5055
  23.6629 5.4416
  24.4821 4.7922
  22.7522 5.9513
  24.0640 5.8963
  24.0361 5.6406
  24.8687 4.5699
  24.8795 4.3198
  24.3486 4.5305
  21.0720 9.5246
  25.2960 3.0828
  23.8204 5.8605
  23.3732 5.1161
  25.5097 2.9010
  24.9206 4.0999
  24.4140 4.9073
  22.7495 4.5059
  24.3394 3.5061
  22.0560 5.5763
  25.4404 5.4916
  25.4795 4.4089
  24.1772 3.8626
  23.6042 4.7476
  23.3537 6.4804
  23.6842 4.3220
  24.1895 3.6072
  24.0328 4.3273
  23.0243 5.6789
  25.7042 4.4493
  22.1983 6.1868
  22.3661 5.9132
  20.9426 4.8079
  20.3806 10.1128
  25.0105 4.4296
  23.6648 6.6482
  25.2780 4.4933
  24.6870 4.4836
  25.4565 4.0990
  25.0415 3.9384
  24.6098 4.6057
  24.7796 4.2042
  </code></pre>
  
  <p>How could I do this? My first attempt was to fit a polynomial to the binned data and find the probability distribution of weights in each magnitude bin, but I reckon it might be a smarter way to do it. For instance, using <code>scipy.stats.rv_continuous</code> for sampling data from the given distribution but I don't know how it can work and there are not enough examples.</p>
  
  <p><strong>Update:</strong>
  As I got a lot of comments to use <code>KDE</code>, I used <code>scipy.stats.gaussian_kde</code> and I got the following results.
  <img src="https://i.stack.imgur.com/OdV0a.jpg" alt="enter image description here">  </p>
  
  <p>I am wondering whether it is a good probability distribution to represent the property of my data? First, how could I test it, and second, whether there is a possibility to fit more than one <strong>gaussian kde</strong> with <code>scipy.stats</code>? </p>