如何用python实现随机抽取? 规则如下: 所有数据分成n组; 每组有m个数; 抽取数据时,每组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python实现随机抽取? 规则如下: 所有数据分成n组; 每组有m个数; 抽取数据时,每组相关的知识,希望对你有一定的参考价值。

如何用python实现随机抽取? 规则如下: 所有数据分成n组; 每组有m个数; 抽取数据时,每组随机抽取x个,x每次抽取时提供; 每次抽取的总人数用一个变量y进行控制;

每组产生x个不同的小于m的随机数,然后用这些随机数作为下标追问

不懂,能详细举例吗?

追答

额,我说的是我自己想的方法,不知道python有没有提供方法。
就是说对一个组,x是已知的吧,然后产生x个小于m的随机数,而且要不同。然后就用这些随机数作为序号,来获取对应的数据。也就相当于随机从分组中抽取了x个数。
至于你说的总人数用y控制,我就不明白你什么意思了。

追问

我这么理解对吗?假定m为4,x为2,产生2个小于4的随机数为1和3,要想用1和3作为序号的话,是否意味着需要对原来4个数据提前进行编号?

追答

你的数据是怎么存放的?我以为你存放在列表里呢。

追问

明白了!谢谢

参考技术A 在梦里

如何用python实现行列互换?

题主既然问出行列转换这样的问题,那就说明题主的Python功力远远不到家的。行列互换其实在Python中很快捷的就可以实现了。

首先,让我们来建立一个矩阵,这里我们使用numpy包下的random包来生成3×3的矩阵。大概的代码如下所示:

import numpy as np

a=np.random.random((3,3))

这样,我们就可以生成一个随机数组成的3×3矩阵。之后我们就可以将这个矩阵进行行列互换了。具体代码也非常的简单,具体如下所示:

b=a.T

如上所示,只需要对a对象进行T操作,就可将我们的数据进行行列转换了。

所以,题主在学习的时候,一定要学会用简单的方法去解决复杂的问题。而不要将自己的问题复杂化,就如同楼上某位同学写的代码那样,明显太复杂了。本来三行代码能够实现的功能,搞得如此纠结。

另外,如果题主想进入数据分析行业,我推荐一本Python的相关书籍给你,这本书可以让你掌握一些常见的数据整理、数据清洗操作。这本书的名字是《利用Python进行数据分析》,该书作者是高效数据分析包Pandas的开发者,对数据分析基本技能的提升作用显著。

如果有什么想与我交流的,欢迎在本题下进行评论。

参考技术A

Python作为一种功能强大的程序编辑器,实现行列转换是它的基础功能,当然行列转换有很多应用,这里介绍如何实现行列转换。在Python的主界面边可以实现操作,但是要以矩阵的形式出现,例如>>a=[[1,2,3],[2,3,4]]按下Enter键。>>输入print map(list,zip(*a))按下Enter键即可。Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3]  有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。

sample input:

1   2   3   4   5

6   7   8   9   10

11  12  13  14  15

program:

with open(\'in.txt\') as f:

  lis = [x.split() for x in f]

for x in zip(*lis):

  for y in x:

    print(y+\'\\t\', end=\'\')

  print(\'\\n\')

output:

1   6   11  

2   7   12  

3   8   13  

4   9   14  

5   10  15

参考技术B

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开标识 放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

参考技术C

Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

以上是关于如何用python实现随机抽取? 规则如下: 所有数据分成n组; 每组有m个数; 抽取数据时,每组的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何用数组存储一些中文名字,并且可以随机抽取一个名字输出

如何用 Python 和正则表达式抽取文本结构化信息?

如何用Python从海量文本抽取主题?

如何用python实现行列互换?

如何在PPT里做一个随机抽取人名的东西

排列组合(包括n中随机抽取m个)