Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/pandas/_testing/_random.py: 64%

11 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1import string 

2 

3import numpy as np 

4 

5 

6def randbool(size=(), p: float = 0.5): 

7 return np.random.rand(*size) <= p 

8 

9 

10RANDS_CHARS = np.array(list(string.ascii_letters + string.digits), dtype=(np.str_, 1)) 

11RANDU_CHARS = np.array( 

12 list("".join(map(chr, range(1488, 1488 + 26))) + string.digits), 

13 dtype=(np.unicode_, 1), 

14) 

15 

16 

17def rands_array(nchars, size, dtype="O", replace=True) -> np.ndarray: 

18 """ 

19 Generate an array of byte strings. 

20 """ 

21 retval = ( 

22 np.random.choice(RANDS_CHARS, size=nchars * np.prod(size), replace=replace) 

23 .view((np.str_, nchars)) 

24 .reshape(size) 

25 ) 

26 return retval.astype(dtype) 

27 

28 

29def rands(nchars) -> str: 

30 """ 

31 Generate one random byte string. 

32 

33 See `rands_array` if you want to create an array of random strings. 

34 

35 """ 

36 return "".join(np.random.choice(RANDS_CHARS, nchars))