Python 熊猫用n个元素创建一个系列(顺序或顺序之间)
我正在尝试创建一个Python 熊猫用n个元素创建一个系列(顺序或顺序之间),python,pandas,dataframe,series,random-sample,Python,Pandas,Dataframe,Series,Random Sample,我正在尝试创建一个pandas系列 序列的一列应包含n个序列号[1,2,3,…,n] 一列应包含介于k和k+100之间的随机数 一列应包含列表中字符串之间的随机选择['A','B','C',…'Z'] 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) 如果要指定列名,否
pandas
系列
序列的一列应包含n个序列号<代码>[1,2,3,…,n]
一列应包含介于k
和k+100
之间的随机数
一列应包含列表中字符串之间的随机选择<代码>['A','B','C',…'Z']
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,可以有很多解决方案。在代码块(
#
)的注释中,您可以找到一些链接以了解更多信息:
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
解决方案:
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
请展示您的努力,因此这不是一个代码编写服务。这应该分为多个问题。此外,一个列是一个系列,听起来您想要一个包含三个系列的数据框架。