3
整数値(n行)の列があります。私は、ある条件を満たす値の正規分布の範囲にある乱数を生成したい。私は以下のコードで試してみましたが、遅すぎます。列内の複数の行に異なる乱数を生成
df_members['bd'] = df_members.bd.apply(lambda x: np.random.normal(bd_mean, bd_sd) if float(x)==-99999 else x)
私は以下のコードで試しましたが、すべての行に1つのランダムな値しか割り当てません。
bd_mean = 29.2223808862
bd_std = 10.4168850957
df_members[df_members['bd'] == -99999] = np.random.normal(bd_mean, bd_sd)
例データ:
msno city bd gender registered_via
0 URiXrfYPzHAlk+7+n7BOMl9G+T7g8JmrSnT/BU8GmEo= 1 -99999 NaN 9
1 U1q0qCqK/lDMTD2kN8G9OXMtfuvLCey20OAIPOvXXGQ= 1 26 NaN 4
2 W6M2H2kAoN9ahfDYKo3J6tmsJRAeuFc9wl1cau5VL1Q= 1 -99999 NaN 4
3 1qE5+cN7CUyC+KFH6gBZzMWmM1QpIVW6A43BEm98I/w= 5 17 female 4
4 SeAnaZPI+tFdAt+r3lZt/B8PgTp7bcG/1os39u4pLxs= 1 -99999 NaN 4
EDIT
私は3425689(行)乱数を生成することは、長い時間がかかるだろうことを推測。私はこの瞬間に最初の道に固執するでしょう。
はあなたがここにあなたが行くdf_members – Dark
@Bharathshettyの小さなサンプルを追加することができます何をしたいあなたを与えるだろう! –