It is not clear which orientation you want from the three lists. However, in general, if you want a collection of objects to undergo the same set of steps, then normally the easiest way to work with that data is to place that data in a list. For example,
lists = [zcr, stft, spectral_centroid]
then if we want to apply bytes() to each entry in each list we can do so in several ways:
conv_lists = [[bytes(i) for i in l] for l in lists]
conv_lists = [list(map(bytes,l)) for l in lists]
if you want the elements oriented the other way, then you might want the zip() function:
conv_lists = [list(map(bytes,l)) for l in zip(*lists)]
if you want to place that result in a np.array(), then wrap that in np.array():
import numpy as np
conv_lists = np.array([list(map(bytes,l)) for l in zip(*lists)])