2015-11-20 8 views
7

pandasシリーズを作成しようとしています。pandasはn個の要素(連続またはランダム)を含む系列を作成します

シリーズの1つの列には、n個の連続番号を含める必要があります。 [1, 2, 3, ..., n]

1つの列は、kk+100の間の乱数を含む必要があります。

1つの列には、リスト内の文字列間のランダムな選択が含まれている必要があります。 ['A', 'B', 'C', ... 'Z']

+2

SOコードの書き込みサービス – EdChum

+0

これではありません、あなたの努力を提示してください複数の質問に分割する必要があります。 –

+0

また、列がシリーズの場合、3つの 'Series'を持つ' DataFrame'が必要です。 –

答えて

7

に設定されているカラム名を指定したい場合。コードブロックのコメントで(#は)あなたはより多くの情報のためにいくつかのリンクがあります:

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ソリューション:

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) 

あなたは、あなたがそれ以外の場合は、ソリューションの多くが存在することができ0,1,2

関連する問題