Я написал следующий код, который случайным образом выбирает число от 0 до 1 из равномерного распределения и связывает его со значением «LF» на основе определенных условий.
df['RAND'] = np.random.uniform(0, 1, size=df.index.size)
conditions = [
df['RAND'] >= (1 - 0.8062),
(df['RAND'] < (1 - 0.8062)) & (df['RAND'] >= 0.1),
(df['RAND'] < 0.1) & (df['RAND'] >= 0.05),
(df['RAND'] < 0.05) & (df['RAND'] >= 0.025),
(df['RAND'] < 0.025) & (df['RAND'] >= 0.0125),
(df['RAND'] < 0.0125)
]
choices = ['LF0', 'LF1', 'LF2', 'LF3', 'LF4', 'LF5']
df['LF'] = np.select(conditions, choices)
# print(df['LF'])
print(df.pivot_table(index=df['LF'], aggfunc=len, fill_value=0))
Проблема, с которой я столкнулсяв том, что когда я генерирую сводную таблицу, я замечаю, что в распределении есть «скачки», то есть значение «LF» пропускается.Я включил ссылку на картинку моего вывода ниже, где пропущено значение 'LF4':
Сводная таблица LF
Может кто-нибудь объяснить это для меня?Заранее спасибо.