Nir*_*tri 5 pandas scikit-learn data-science
我有一个36k行的数据集.我想用pandas从它中随机选择9k行.我该如何完成这项任务?
我认为你可以使用sample- 9k或25%行:
df.sample(n=9000)
Run Code Online (Sandbox Code Playgroud)
要么:
df.sample(frac=0.25)
Run Code Online (Sandbox Code Playgroud)
与创建的随机抽样另一种解决方案index通过numpy.random.choice,然后通过选择loc- index必须是唯一的:
df = df.loc[np.random.choice(df.index, size=9000)]
Run Code Online (Sandbox Code Playgroud)
解决方案如果不是唯一索引
df = df.iloc[np.random.choice(np.arange(len(df)), size=9000)]
Run Code Online (Sandbox Code Playgroud)
numpy
i = np.random.permutation(np.arange(len(df)))
idx = i[:9000]
pd.DataFrame(df.values[idx], df.index[idx])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2753 次 |
| 最近记录: |