Belsen
Дек. 23, 2008 23:47:21
Встала такая проблема.
При расчете получаю numpy.array размерностью несколько тысяч на несколько тысяч. Сохраняю как *.csv файл. Но в Екселе 2003 есть ограничение на максимальное кол-во столбцов - 256. Так вот, надо как-то уменьшить кол-во столбцов в массиве, чтобы оно влезло в Эксел. Причем первый и последний должны остаться обязательно, а остальные - быть с равным “шагом”. Да и подписи надо, то какие это столбцы по счету были до “уменьшения” исходной матрицы.
Несколько часов бился над проблемой - так и не нашел выхода.
Помогите новичку в программировании (точнее, скажем честно, кодинге).
Ferroman
Дек. 24, 2008 01:41:49
В смысле, надо пропустить определённые столбцы при записи?
Belsen
Дек. 24, 2008 12:20:43
Да. А еще точнее записать только определенные столбцы.
Ferroman
Дек. 24, 2008 15:06:03
Тогда проблема совсем непонятна. Самый простой способ - создать новую таблицу из нужных столбцов, а уже её сохранять.
Второй вариант - пропускать ненужные во во время сохранения - тогда вторая таблица не нужна.
Как именно вы сохраняете таблицу?
Belsen
Дек. 24, 2008 15:14:06
Вот по сути, я пытался пойти первым спосбом, просто даже создать вторую таблицу у меня не получилось такой какой надо. Так что мне будет достаточно алгоритма по созданию вот этой самой второй таблицы, допустим. Все остальное мне ясно.
Ferroman
Дек. 24, 2008 15:16:46
Хм. Тогда скажите какая надо, а какая получилась. Будет видно что не так.
Belsen
Дек. 27, 2008 22:11:21
Ну, если быть совсем уж прямолинейным - мне просто нужен аналог атрибута list.remove(), только для numpy.ndarray() - то есть команда для исключения столбца.
Со всем остальным уже разобрался, кажется…
Ferroman
Дек. 27, 2008 22:53:00
Belsen
Дек. 27, 2008 23:02:27
Проблема решена с помощью атрибута ndarray.take()
Ferroman
Дек. 28, 2008 01:24:15
Тоже вариант.