使用熊猫和随机模块创建数据帧
问题描述:
我想用pandas创建一个数据框,其中1列是'EmployeeID',第二个是'技能'集,他具有1到5的范围。'EmployeeID'列应该有唯一值,而“技能”列可以具有重复值。 1.我试图产生“雇员”使用下面的代码:使用熊猫和随机模块创建数据帧
df = pd.DataFrame({'EmployeeID':[random.sample(range(123456,135000),100)]})
但结果不是我所期待。它产生的所有号码,并把它们放在一排
- Random.sample是给我唯一的值。我怎样才能在给定的范围内生成100个重复值?使用randint尝试,但它没有经过数字的计数的选项生成
答
使用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
什么是你希望使用 – Dark
'np.random.ran dint':'pd.DataFrame({'EmployeeID':np.random.randint(123456,135000,100)})' –
不要使用列表,因为随机数已经可迭代了 – Dark