我想在笔记本python中随机研究年龄组。我想知道是否有人有想法。
df_tmp["age"]
年龄------------------------>在rand(预期结果(之后
0-25 ans------------------------>22
26-30 ans----------------------->28
31-35 ans------------------->33
感谢
numpy.random.randint(lo, hi)
用于获取范围为lo <= x < hi
的随机整数x
。你还需要一些将这些值转换为低值和高值的方法,我会用字典来实现这一点。
综合以上我们得到:
import numpy as np
age_ranges = {
'0 - 25 ans': (0, 25),
'26 - 30 ans': (26, 30),
'31 - 35 ans': (31, 35),
}
def sample_age_from_range(ar):
lo, hi = age_ranges[ar]
return np.random.randint(lo, hi + 1)
然后我们可以将其应用于一些数据:
import pandas as pd
# create some test data
df = pd.Series([
'0 - 25 ans',
'26 - 30 ans',
'31 - 35 ans',
], name='age').to_frame()
df['age2'] = df['age'].apply(sample_age_from_range)
这给了我:
age age2
0 0 - 25 ans 4
1 26 - 30 ans 29
2 31 - 35 ans 33