我想使用pandas创建一个数据框,其中1列是'EmployeeID',第二个是'技能'集,他的范围是1到5.“EmployeeID”列应该具有唯一值,而'skill'列可以有重复的价值观。 1.我尝试使用以下代码生成'EmployeeID':
select regexp_substr(email, '[0-9A-Z]{1,10}') REG_EXP from students;
但结果不是我的预期。它生成了所有数字并将它们放在一行
答案 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