def insert_data_point(self, new_data, index=None):
if not len(new_data) == len(self.columns) and not len(self.columns)==<NUM_LIT:0>:<EOL><INDENT>print("<STR_LIT>")<EOL>return<EOL><DEDENT>elif len(self.columns)==<NUM_LIT:0>:<EOL><INDENT>for i in range(len(new_data)): self[i] = [new_data[i]]<EOL><DEDENT>else:<EOL><INDENT>for i in range(len(new_data)):<EOL><INDENT>data = list(self[i])<EOL>if index is None: data.append(       new_data[i])<EOL>else:             data.insert(index, new_data[i])<EOL>self[i] = _n.array(data)<EOL><DEDENT><DEDENT>return self<EOL>
Inserts a data point at index n.

Parameters
----------
new_data    
    A list or array of new data points, one for each column.
index       
    Where to insert the point(s) in each column. None => append.