How to create a DataFrame of random integers with Pandas?

后端 未结 2 1295
无人及你
无人及你 2020-11-30 19:21

I know that if I use randn,

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list(\'ABCD\'))

gives

相关标签:
2条回答
  • The recommended way to create random integers with NumPy these days is to use numpy.random.Generator.integers. (documentation)

    import numpy as np
    import pandas as pd
    
    rng = np.random.default_rng()
    df = pd.DataFrame(rng.integers(0, 100, size=(100, 4)), columns=list('ABCD'))
    df
    ----------------------
          A    B    C    D
     0   58   96   82   24
     1   21    3   35   36
     2   67   79   22   78
     3   81   65   77   94
     4   73    6   70   96
    ... ...  ...  ...  ...
    95   76   32   28   51
    96   33   68   54   77
    97   76   43   57   43
    98   34   64   12   57
    99   81   77   32   50
    100 rows × 4 columns
    
    0 讨论(0)
  • 2020-11-30 19:51

    numpy.random.randint accepts a third argument (size) , in which you can specify the size of the output array. You can use this to create your DataFrame -

    df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
    

    Here - np.random.randint(0,100,size=(100, 4)) - creates an output array of size (100,4) with random integer elements between [0,100) .


    Demo -

    import numpy as np
    import pandas as pd
    df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
    

    which produces:

         A   B   C   D
    0   45  88  44  92
    1   62  34   2  86
    2   85  65  11  31
    3   74  43  42  56
    4   90  38  34  93
    5    0  94  45  10
    6   58  23  23  60
    ..  ..  ..  ..  ..
    
    0 讨论(0)
提交回复
热议问题