当前位置:  开发笔记 > 编程语言 > 正文

是否有一个等效于R的sample()函数的Python?

如何解决《是否有一个等效于R的sample()函数的Python?》经验,为你挑选了2个好方法。

我想知道Python是否具有sample()R中的函数的等价物.

所述样品()函数将指定大小的使用具有或不具有替换x的元素的样品.

语法是:

sample(x, size, replace = FALSE, prob = NULL)

(更多信息在这里)



1> Ouistiti..:

我想numpy.random.choice(a, size=None, replace=True, p=None)很可能就是你要找的东西.

p参数对应prob的参数sample()功能.



2> Alex Riley..:

在pandas(Python最接近R的类似)中,有一些DataFrame.sampleSeries.sample方法,它们都在版本0.16.1中引入.

例如:

>>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [6, 7, 8, 9, 0]})
>>> df
   a  b
0  1  6
1  2  7
2  3  8
3  4  9
4  5  0

无需替换即可获取3行:

>>> df.sample(3)
   a  b
4  5  0
1  2  7
3  4  9

从替换列'a'中取样4行,使用列'b'作为选择的相应权重:

>>> df['a'].sample(4, replace=True, weights=df['b'])
3    4
0    1
0    1
2    3

这些方法几乎与R函数相同,允许您从DataFrame/Series中采样特定数量的值(或值的一部分),无论是否替换.请注意,probR中的参数sample()对应weights于pandas方法.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有