私はいくつかの列を含むDataFrame、df
を持っています。 df
の値の一部はNaN
です。私はそれぞれのNaN
を、指定された列の他の値からランダムにサンプリングして選択した有効な値に置き換えたいと思います。私は時間の4時間の2/3と1/3 7でdf[work][2]
を交換したいと思いますパンダ:列値のランダムサンプリングを使用したNaNの置換
df[work] = [4, 7, NaN, 4]
:場合例えば
、。私はより良い、よりPython的な方法があります考えている
def resample_fillna(df):
for col in df.columns:
# get series consisting of non-NaN values
valid_series = df[col].dropna()
nan_indices = np.argwhere(np.isnan(df[col]))
for nan_index in nan_indices:
df[col][nan_index] = valid_series.sample(n=1)
:
は、ここに私の試みです。何かご意見は?
ありがとうございます!
すべての欠損値を同じランダム値または異なるランダム値で置き換えますか? –