Python algorithm that converts array-like data into MathJax
This looks like a handy tool to have around, maybe we can make it even better.

Style

As per the official Python Style Guide (often known by his nickname PEP8), keyword-arguments of functions should have no whitespace around the =.

Matrix size

numpy arrays have a property called .shape which describes their number of rows and number of cols (in case of a 2D array at least). So

self.rows = len(self.matrix)
self.cols = len(self.matrix[0])


could become

self.rows, self.cols = self.matrix.shape


Since your code only works for 2D matrices, it's maybe also a good idea to check for that. The .ndim attribute can be of help here.

Type checking

type(matrix[0]) in (str,int,float) should instead be isinstance(matrix[0], (str, int, float)).

Checking None

The official recommendation is to always use if sth is None: when checking for None.

String joining


row = [str(x) for x in row]
body += ' &amp; '.join(row) + '\\\\' + '\n'



could be done in a single line:

body += ' &amp; '.join(str(x) for x in row) + '\\\\' + '\n'


This means you also don't have to reassign row to be something different than it was before.

String formatting

Since you said you're using Python 3.6, maybe have a look at f-strings for even more concise string formatting syntax. No matter if you choose to do this, maybe at least get rid of the old-style % formatting in augmented(...) by escaping { and } using a leading \.

Function output

I find it preferable if you'd let the user decide what he wants to do with what your function returns. So instead of printing and copying the formatted matrix code, maybe just return body and let the caller decide how to proceed from here. You could even define a "convenience" function (to_clipboard) that basically only does pyperclip.copy(...), although this is likely not necessary. Another idea would be to make at least the copy part opt-in via a "flag" bool parameter.

Class

Maybe a class is not the right tool here. A possible alternative would be to move what's done in __init__ into a "private" (read name starts with _) helper function and get rid of the class.



Missing backslash

There seems to be a little bug in both of your functions (see how bad code duplication is ;-)): body +='\end ... is likely missing an additional \.

Unused argument

If I'm not mistaken, the choosen_brackets argument of augmented is not used in the function.

Typo

choosen_brackets should likely be chosen_brackets