Как определить матрицу с типом данных класса в python? [Дубликат]

Я согласен с Wart Claes на дисплее divs как элементы таблицы против использования старой таблицы школьных таблиц. Но проблема, с которой вы сталкиваетесь, заключается в том, что браузер добавляет элемент tbody в вашу таблицу. Этот элемент заставляет высоту строки. Чтобы исправить это, есть два пути.

1) Установите tbody для отображения в виде блока, это заставит браузер игнорировать его свойства отображения и делать то, что вам нужно.

https://jsfiddle.net / benneb10 / utrwqfux / 1 /

tbody{
  display:block;
}

2) Задайте высоту таблицы таблицы телом:

tbody{
  height:400px;
  overflow:auto;
  overflow-x:hidden;
  border: 1px solid black;
}

Однако, t сделайте свой стол 400px, как вы хотите. Это заставит tr быть ровно 8px.

https://jsfiddle.net/benneb10/utrwqfux/2/

21
задан Mike Dewar 28 February 2010 в 05:21
поделиться

3 ответа

Если ваш класс Kernel имеет предсказуемое количество данных члена, тогда вы можете определить dtype для него вместо класса. например если он параметризирован 9 поплавками и int, вы можете сделать

kerneldt = np.dtype([('myintname', np.int32), ('myfloats', np.float64, 9)])
arr = np.empty(dims, dtype=kerneldt)

. Вам придется сделать какое-то принуждение, чтобы превратить их в объекты класса Kernel каждый раз, когда вы хотите манипулировать методами одного ядра но это один из способов хранения фактических данных в массиве NumPy. Если вы хотите сохранить только ссылку, то dtype объекта лучше всего сделать без подкласса ndarray.

19
ответ дан dwf 20 August 2018 в 08:40
поделиться
  • 1
    Это то, что я искал! Хотя я начинаю думать, что это намного больше работы, чем того стоит ... Будет читать np.dtype. – Mike Dewar 1 March 2010 в 16:01

Насколько я знаю, принудительное использование одного типа для элементов в numpy.ndarray должно выполняться вручную (если только массив не содержит сканировщики Numpy): нет встроенного механизма проверки (ваш массив имеет dtype = object) , Если вы действительно хотите применить один тип, вы должны подклассифицировать ndarray и реализовать проверки в соответствующих методах (__setitem__ и т. Д.).

Если вы хотите реализовать операции над набором функций (Объекты ядра), вы могли бы это сделать, указав правильные операции непосредственно в своем классе Kernel. Это то, что я сделал для моего модуля analytties.py , который обрабатывает numpy.ndarrays чисел с неопределенностями.

1
ответ дан Eric Lebigot 20 August 2018 в 08:40
поделиться
3
ответ дан Joshua Smith 20 August 2018 в 08:40
поделиться
Другие вопросы по тегам:

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