[Numpy-discussion] simple manipulations of numpy arrays
Brad Reisfeld
brad.reisfeld@gmail....
Fri Feb 10 08:29:12 CST 2012
Hi,
I am relatively new to numpy and am seeking some advice on an
appropriate way to do the following simple task.
The idea is to build a class that will allow a user to easily remove
and keep columns and rows in a 2D numpy array.
An outline of the class is as follows:
class DataEditor(object):
def __init__(self, data_array):
self.data_array = data_array
self.edited_data_array = None
def get_edited_data(self):
return self.edited_data_array
def remove_cols(self, a_list_of_column_numbers):
"""remove the specified columns, but keep the rest"""
# some functionality to produce self.edited_data_array
def remove_rows(self, a_list_of_row_numbers):
"""remove the specified rows, but keep the rest"""
# some functionality to produce self.edited_data_array
def keep_cols(self, a_list_of_column_numbers):
"""keep the specified columns, but remove the rest"""
# some functionality to produce self.edited_data_array
def keep_rows(self, a_list_of_row_numbers):
"""keep the specified rows, but remove the rest"""
# some functionality to produce self.edited_data_array
Usage would be something like the following:
>> import numpy as np
>> import data_editor
>> data = np.random.rand(7,9)
>> editor = data_editor.DataEditor(data)
>> editor.remove_rows([2,4])
>> editor.keep_cols([3,5,7])
>> edited_data = data_editor.get_edited_array()
I don't have much experience using them, but would using a masked
array would make sense in this context?
If so, how does one convert a masked array to a 'normal' array with
only the unmasked values present from the original?
Or, is another approach more appropriate.
Thank you for your help.
-Brad
More information about the NumPy-Discussion
mailing list