【发布时间】:2017-09-21 19:37:59
【问题描述】:
我正在使用 Python 2.7.11 和 Anaconda。
我了解如何设置 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
【问题讨论】: