2
AnacondaでPython 2.7.11を使用しています。ランダムに、パンダのデータフレームの行のサブセットに値を割り当てます。
Pandas
DataFrame
のような行のサブセットの値をModifying a subset of rows in a pandas dataframeに設定する方法を理解していますが、これらの値をランダムに設定する必要があります。
以下のデータフレームdf
があります。 group == 2
の値をランダムに設定して、それらがすべて1.0に等しくないようにするにはどうすればよいですか?
import pandas as pd
import numpy as np
df = pd.DataFrame([1,1,1,2,2,2], columns = ['group'])
df['value'] = np.nan
df.loc[df['group'] == 2, 'value'] = np.random.randint(0,5)
print df
group value
0 1 NaN
1 1 NaN
2 1 NaN
3 2 1.0
4 2 1.0
5 2 1.0
df
は、以下のようになります。
print df
group value
0 1 NaN
1 1 NaN
2 1 NaN
3 2 1.0
4 2 4.0
5 2 2.0