Вы можете использовать Syncfusion Xamarin.Forms Progress Bar (у них есть много других вариантов дизайна в ссылке).
У них есть бесплатная общественная лицензия на все виды контроля (если вы зарабатываете менее 1 миллиона долларов годового дохода), на которую вы можете подписаться:
https://www.syncfusion.com/downloads/communitylicense
А вот пример аналогичного примера реализации, которую вы хотите сделать, которая должна Начало работы:
https://help.syncfusion.com/xamarin/progressbar/customcontent
У Вас могут быть неоднородные типы если Ваш dtype
object
:
In [1]: m = numpy.matrix([[1, 2, 3], [4, '5', 6]], dtype=numpy.object)
In [2]: m
Out[2]:
matrix([[1, 2, 3],
[4, 5, 6]], dtype=object)
In [3]: m[1, 1]
Out[3]: '5'
In [4]: m[1, 2]
Out[4]: 6
Я понятия не имею, что хороший это делает Вас кроме необычной индексации, потому что, как Дон указал, Вы не можете сделать математики с этой матрицей.
Мне любопытно, почему Вы хотите эту функциональность; насколько я понимаю, причина того, чтобы иметь матрицы (в numpy), прежде всего, для того, чтобы сделать линейную математику (матричные преобразования и так далее).
Я не уверен, чем математическое определение было бы для продукта десятичного числа и Строки.
Внутренне, Вы, вероятно, захотите посмотреть на реализации разреженной матрицы (http://www.inf.ethz.ch/personal/arbenz/pycon03_contrib.pdf). Существует много способов сделать это (хеш, список, связанный список), и у каждого есть его собственные преимущества и недостатки. Если Ваша матрица не будет иметь много пустых указателей или обнуляет, то можно угробить редкие реализации.
Вы посмотрели на numpy.recarray возможности?
Например, здесь: http://docs.scipy.org/doc/numpy/reference/generated/numpy.recarray.html
Это разработано для разрешения массивов со смешанными типами данных.
Я не знаю, удовлетворит ли массив Вашим целям, или если Вам действительно нужна матрица - я не работал с numpy матрицами. Но если массив достаточно хорош, recarray мог бы работать.