наименьший тип поплавка для панд / минимизирующий размер преобразования - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть фрейм данных с 17000 столбцов и 50000 строк целочисленных значений (~ 1 ГБ). Я делю каждый столбец кадра данных на сумму столбца (например, нормализуя данные).

Мне нужно указать тип d, потому что в противном случае я получаю выходной файл, который> 11 ГБ (по умолчанию dtype= float64) (!!!)

Я попытался уменьшить dtype до float16 (наименьший тип float, который я мог найти для numpy) или даже float32.

например, dtype = float32 или dtype = float16

thisPart.div(thisPart.sum(axis=1), axis=0, dtype=float32)*(10**6)

если я установлю dtype на float32 или float16, я получу

NameError: name 'float32' is not defined

, если я установлю dytpe на np.float16 или np.float32, я получу

 3 TypeError: f() got an unexpected keyword argument 'dtype'

Длядля справки, я запускаю скрипт bash.sh, который обращается к среде conda с помощью numpy и pandas

нижняя строка: Какой самый маленький способ преобразовать эту матрицу без взрыва ее размера? Я открыт для других методов, кроме того, что я делаю сейчас тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...