2015-11-20 6 views
7

Ich versuche, eine pandas Serie zu erstellen.Pandas erstellen eine Serie mit n Elementen (sequentiell oder randbetween)

Eine Spalte der Serie sollte n fortlaufende Nummern enthalten. [1, 2, 3, ..., n]

Eine Spalte sollte Zufallszahlen zwischen k und k+100 enthalten.

Eine Spalte sollte eine zufällige Auswahl zwischen Strings in einer Liste enthalten. ['A', 'B', 'C', ... 'Z']

+2

Bitte zeigen Sie Ihre Bemühungen, ist also nicht ein Code schriftlich Service – EdChum

+0

Diese sollte in mehrere Fragen aufgeteilt werden. –

+0

Auch eine Spalte ist eine Serie, es klingt wie Sie wollen ein 'DataFrame' mit drei' Series'. –

Antwort

7

gesetzt Es kann eine Menge Lösungen sein. In den Kommentaren des Codeblocks (#) finden Sie ein paar Links für weitere Informationen:

import pandas as pd 
import numpy as np 
import random 
import string 

k = 5 
N = 10 

#http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html 
#http://stackoverflow.com/a/2257449/2901002 

df = pd.DataFrame({ 'A' : range(1, N + 1 ,1), 
    'B' : np.random.randint(k, k + 100 , size=N), 
    'C' : pd.Series(random.choice(string.ascii_uppercase) for _ in range(N)) }) 

print df 
# A B C 
#0 1 60 O 
#1 2 94 L 
#2 3 10 W 
#3 4 94 X 
#4 5 60 O 
#5 6 20 K 
#6 7 58 Y 
#7 8 40 I 
#8 9 49 X 
#9 10 65 S 

Numpy Lösung:

import pandas as pd 
import numpy as np 

k = 5 
N = 10 

alphabet = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ') 

#http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html 

df = pd.DataFrame({ 'A' : range(1, N + 1 ,1), 
    'B' : np.random.randint(k, k + 100 , size=N), 
    'C' : np.random.choice(np.array(alphabet, dtype="|S1"), N) }) 

print df 
# A B C 
#0 1 16 U 
#1 2 76 X 
#2 3 101 N 
#3 4 61 F 
#4 5 52 J 
#5 6 62 A 
#6 7 99 L 
#7 8 23 N 
#8 9 75 D 
#9 10 16 Q 
3
import pandas 
n = 30 
k = 40 
pandas.DataFrame([(i, random.randint(k, k+100), chr(random.randint(ord('A'), ord('Z')))) for i in xrange(0, n) 

Wenn Sie Sie die Spaltennamen angeben möchten, sonst ist es zu 0,1,2

Verwandte Themen