create.py 960 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """Create samples for bivariate distribution"""
  4. from numpy.random import multivariate_normal, seed
  5. def create_data(n):
  6. means = [0.0, 0.0]
  7. cov = [[1.0, 0.7], [0.7, 4.0]]
  8. seed(0)
  9. samples = multivariate_normal(means, cov, n)
  10. with open("data.csv", "w") as f:
  11. f.write("x,y\n")
  12. for datapoint in samples:
  13. f.write("%0.4f,%0.4f\n" % tuple(datapoint))
  14. def get_parser():
  15. from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
  16. parser = ArgumentParser(description=__doc__,
  17. formatter_class=ArgumentDefaultsHelpFormatter)
  18. parser.add_argument("-n",
  19. dest="n",
  20. default=5000,
  21. type=int,
  22. help="Number of points to generate")
  23. return parser
  24. if __name__ == "__main__":
  25. args = get_parser().parse_args()
  26. create_data(args.n)