使用熊猫和随机模块创建数据帧

问题描述:

我想用pandas创建一个数据框,其中1列是'EmployeeID',第二个是'技能'集,他具有1到5的范围。'EmployeeID'列应该有唯一值,而“技能”列可以具有重复值。 1.我试图产生“雇员”使用下面的代码:使用熊猫和随机模块创建数据帧

df = pd.DataFrame({'EmployeeID':[random.sample(range(123456,135000),100)]}) 

但结果不是我所期待。它产生的所有号码,并把它们放在一排

enter image description here

  1. Random.sample是给我唯一的值。我怎样才能在给定的范围内生成100个重复值?使用randint尝试,但它没有经过数字的计数的选项生成
开始=“2”>
+0

什么是你希望使用 – Dark

+1

'np.random.ran dint':'pd.DataFrame({'EmployeeID':np.random.randint(123456,135000,100)})' –

+0

不要使用列表,因为随机数已经可迭代了 – Dark

使用numpy.random.randint + numpy.tile如果需要重复1-5范围:

df = pd.DataFrame({'EmployeeID': np.random.randint(123456, 135000, 100), 
        'skill':np.tile(np.arange(1,6), 20)}) 
print (df.head(10)) 
    EmployeeID skill 
0  129323  1 
1  126570  2 
2  124034  3 
3  129659  4 
4  125654  5 
5  127093  1 
6  123780  2 
7  125665  3 
8  124063  4 
9  125061  5 

此外,如果需要在范围1-5随机值列skill使用双randint

df = pd.DataFrame({'EmployeeID': np.random.randint(123456, 135000, 100), 
        'skill':np.random.randint(1,6, 100)}) 
print (df.head(10)) 
    EmployeeID skill 
0  131496  2 
1  133133  4 
2  130999  2 
3  127685  5 
4  129008  1 
5  124238  3 
6  124147  3 
7  123592  3 
8  133859  1 
9  126097  3