2015-09-24 18 views
30

Ich weiß, dass, wenn ich randn verwenden,Wie erstellt man einen Datenrahmen von zufälligen Ganzzahlen mit Pandas?

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

mir gibt, was ich suche, aber mit Elementen aus einer Normalverteilung. Aber was, wenn ich nur zufällige ganze Zahlen wollte?

randint funktioniert durch Bereitstellung eines Bereichs, aber kein Array wie randn tut. Also, wie mache ich das mit zufälligen ganzen Zahlen zwischen einigen Bereichen?

+0

und damit verbundene für, wenn wir nur eine Spalte hinzu: [Pandas: Erstellen Sie neue Spalte in df mit Zufallszahlen] (http://stackoverflow.com/questions/ 30327417/python-create-new-spalte-in-pandas-df-mit-zufallszahlen aus dem bereich) – smci

Antwort

52

numpy.random.randint akzeptiert ein drittes Argument (size), in dem Sie die Größe des Ausgabearrays angeben können.

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

Hier - - Sie können dies Ihr DataFrame erstellen verwenden np.random.randint(0,100,size=(100, 4)) - eine Ausgangs Array der Größe (100,4) mit Zufallszahl Elemente zwischen [0,100) erzeugt.


Demo -

In [22]: df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD')) 

In [23]: df 
Out[23]: 
    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

Könnten Sie bitte ein kopierbares Muster erstellen, das die Importe enthält/keine Zeilennummern hat? –

Verwandte Themen