def profile_distribution(data):
if len(data) == <NUM_LIT:0>:<EOL><INDENT>return (data, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan)<EOL><DEDENT>else:<EOL><INDENT>ddof = <NUM_LIT:1> if len(data) > <NUM_LIT:1> else <NUM_LIT:0><EOL>dist_mean = np.mean(data)<EOL>dist_stdev = np.std(data, ddof=ddof)<EOL>dist_min, dist_quartile1, dist_quartile2, dist_quartile3, dist_max = np.percentile(data, [<NUM_LIT:0>,<NUM_LIT>,<NUM_LIT:50>,<NUM_LIT>,<NUM_LIT:100>])<EOL>dist_skew = skew(data)<EOL>dist_kurtosis = kurtosis(data)<EOL><DEDENT>return (data, dist_mean, dist_stdev, dist_skew, dist_kurtosis, dist_min, dist_quartile1, dist_quartile2, dist_quartile3, dist_max)<EOL>
Compute the mean, standard deviation, min, quartile1, quartile2, quartile3, and max of a vector

Parameters
----------
data: array of real values

Returns
-------
features = dictionary containing the min, max, mean, and standard deviation