使用pandas和随机模块创建数据框

时间:2017-10-28 14:23:14

标签: python pandas dataframe random

我想使用pandas创建一个数据框,其中1列是'EmployeeID',第二个是'技能'集,他的范围是1到5.“EmployeeID”列应该具有唯一值,而'skill'列可以有重复的价值观。 1.我尝试使用以下代码生成'EmployeeID':

select regexp_substr(email, '[0-9A-Z]{1,10}') REG_EXP from students;

但结果不是我的预期。它生成了所有数字并将它们放在一行

enter image description here

  1. Random.sample给了我独特的价值观。如何在给定范围内生成100个重复值?尝试使用randint,但它没有选择传递数字生成

1 个答案:

答案 0 :(得分:1)

如果需要重复1-5范围:

,请使用numpy.random.randint + numpy.tile
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