Сохранение вывода ячейки в виде текстового файла в блокноте JupyterPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сохранение вывода ячейки в виде текстового файла в блокноте Jupyter

Сообщение Anonymous »

Мне бы очень хотелось сохранить вывод последней ячейки в текстовом файле.

q = [rng.next () for _ in range (0, 25000000)]


Я знаю, что могу использовать фрейм данных pandas, но мне нужен текстовый файл для проведения тестов Diehard. Возможно ли это в ноутбуке Jupyter? Возможно, какие данные мне нужны для выполнения Dieharder Suite?

Я почти уверен, что когда-то я делал что-то подобное, к сожалению, не помню, как, и я не могу найти вразумительного ответа

Ниже приведен код моего генератора случайных чисел LCG:

import numpy as np

class LCG(object):

UZERO: np.uint32 = np.uint32(0)
UONE : np.uint32 = np.uint32(1)

def __init__(self, seed: np.uint32, a: np.uint32, c: np.uint32) -> None:
self._seed: np.uint32 = np.uint32(seed)
self._a : np.uint32 = np.uint32(a)
self._c : np.uint32 = np.uint32(c)

def next(self) -> np.uint32:
self._seed = self._a * self._seed + self._c
return self._seed

def seed(self) -> np.uint32:
return self._seed

def set_seed(self, seed: np.uint32) -> np.uint32:
self._seed = seed

def skip(self, ns: np.int32) -> None:
"""
Signed argument - skip forward as well as backward

The algorithm here to determine the parameters used to skip ahead is
described in the paper F. Brown, "Random Number Generation with Arbitrary Stride,"
Trans. Am. Nucl. Soc. (Nov. 1994). This algorithm is able to skip ahead in
O(log2(N)) operations instead of O(N). It computes parameters
A and C which can then be used to find x_N = A*x_0 + C mod 2^M.
"""

nskip: np.uint32 = np.uint32(ns)

a: np.uint32 = self._a
c: np.uint32 = self._c

a_next: np.uint32 = LCG.UONE
c_next: np.uint32 = LCG.UZERO

while nskip > LCG.UZERO:
if (nskip & LCG.UONE) != LCG.UZERO:
a_next = a_next * a
c_next = c_next * a + c

c = (a + LCG.UONE) * c
a = a * a

nskip = nskip >> LCG.UONE

self._seed = a_next * self._seed + c_next

#%%
np.seterr(over='ignore')

a = np.uint32(1664525)
c = np.uint32(1013904223)
seed = np.uint32(1)

rng = LCG(seed, a, c)
q = [rng.next() for _ in range(0, 25000000)]


Подробнее здесь: https://stackoverflow.com/questions/570 ... r-notebook
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сочетание клавиш для очистки вывода ячейки в блокноте Jupyter
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как обрезать вывод ячейки в блокноте Jupyter с помощью nbconvert
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как обрезать вывод ячейки в блокноте Jupyter с помощью nbconvert
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ получить уведомление о завершении выполнения ячейки в блокноте VSCode Jupyter?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как обрезать вывод ячейки в блокноте Jupyter с помощью nbconvert
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»