Something along these lines will work if your strings are of fixed length, and your array is of type string, and not of type object. Note that it circumvents python for loops, such as encountered in a list comprehension, and is correspondingly much faster:
import numpy as np
data = np.array(['HD\,315', 'HD\,318'])
view = data.view(np.uint8).reshape(data.shape + (data.dtype.itemsize,))
view[:,2] = 32
print data
Of course if your commas may appear in various places, logical indexing would be required (ie, view[view==92] = 32). Even if your strings are not all exactly equal length, but at least of a short and bounded length, placing them in a fixed length array could speed things up a lot at the cost of some extra memory, if you have a lot of these strings. Note that numpy.char contains a lotof useful utility functions for vectorized string manipulations. Speaking of which...
np.char.replace(data, ',', ' ')