Как вытащить случайное двойное значение из случайных значений массива байтов?

Используя transform и маскируя:

df['max']=df.groupby('class')['num'].transform('max')
df['min']=df.groupby('class')['num'].transform('min')

mask = df['num'].ne(df['min'])&df['num'].ne(df['max'])

df.loc[mask,:].groupby('class')['num'].describe()

       count  mean       std   min   25%   50%   75%   max
class                                                     
a        3.0  15.0  3.000000  12.0  13.5  15.0  16.5  18.0
b        3.0  55.0  4.582576  51.0  52.5  54.0  57.0  60.0

Или:

df.loc[mask, ['class', 'num']].groupby('class').describe()
        num                                              
      count  mean       std   min   25%   50%   75%   max
class                                                    
a       3.0  15.0  3.000000  12.0  13.5  15.0  16.5  18.0
b       3.0  55.0  4.582576  51.0  52.5  54.0  57.0  60.0

5
задан Kamil Zadora 31 December 2008 в 17:46
поделиться

3 ответа

byte[] result = new byte[8];
rng.GetBytes(result);
return (double)BitConverter.ToUInt64(result,0) / ulong.MaxValue;
12
ответ дан 18 December 2019 в 13:20
поделиться

Можно использовать BitConverter. ToDouble (...) метод. Это берет в массиве байтов и возвратит Двойное. Thre являются соответствующими методами для большинства других типов примитивов, а также методом для движения от примитивов до массива байтов.

-2
ответ дан 18 December 2019 в 13:20
поделиться

Используйте BitConverter для преобразования последовательности случайных байтов к Двойному:

byte[] random_bytes = new byte[8];  // BitConverter will expect an 8-byte array
new RNGCryptoServiceProvider().GetBytes(random_bytes);

double my_random_double = BitConverter.ToDouble(random_bytes, 0);
-2
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: