我在 Anaconda 中使用 Python 2.7.11。
我了解如何设置行子集的值,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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
您必须确定第 2 组的大小
g2 = df['group'] == 2
df.loc[g2, 'value'] = np.random.randint(5, size=g2.sum())
print(df)
group value
0 1 NaN
1 1 NaN
2 1 NaN
3 2 3.0
4 2 4.0
5 2 2.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |