numpy.random.multinomial: есть ли способ выполнить тест True или False?

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

Используя numpy.random.multinomial, мне было интересно, можно ли просмотреть столбец значений в фрейме данных pandas и присвоить им статус True или False. Например, у меня есть эти значения во фрейме данных pandas.

 col1 col2
240 0.0193549635804102
449 0.019230695266556665
355 0.01901116107244241
29  0.01886820933146161
301 0.017441394009229984
  

С вероятностью 40% True и вероятностью 60% False я хотел бы использовать numpy.random.multinomial для генерации фрейма данных, который должен выглядеть примерно так

 col1 col2                 T/F
240 0.0193549635804102    True
449 0.019230695266556665  False
355 0.01901116107244241   True
29  0.01886820933146161   True
301 0.017441394009229984  False
  

Глядя на документацию для numpy.random.multinomial, не похоже, что есть простой способ сделать это, и, возможно, было бы проще использовать что-то другое. Я был бы признателен за некоторые мысли о том, как это сделать

Комментарии:

1. Почему вы хотите использовать numpy.random.multinomial , если все, что вы, кажется, хотите иметь, это True / False с вероятностью 40/60%? np.random.rand(len(df)) < 0.4 сделал бы это.

Ответ №1:

Вероятно, вы можете использовать np.random.choice для выполнения чего-то вроде:

 df['T/F'] = np.random.choice([True, False], p=[0.4, 0.6], size=len(df))