㈠ randint在python中的意思
python中的randint用来生成随机数,在使用randint之前,需要调用random库。其表达是为random.randint(x,y),参数x和y代表生成随机数的区间范围。
random() 函数命名来源于英文单词random(随机)。randint是random + integer拼接简写而成,代表随机一个整数。
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。
函数randint的使用
1、OUT = RANDINT
产生一个“ 0 ”或“ 1 ”等概率。
2、OUT = RANDINT(M)
生成的M 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
3、OUT = RANDINT(M,N)
生成的(M,N) 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
4、OUT = RANDINT(M,N,RANGE)
生成的(M,N) 矩阵的随机二进制数字,RANGE范围可以是标量或向量。
标量:为正的话,取值为[0,RANGE-1] ,为负的话,取值为 [RANGE+1, 0]。
向量:取值为[RANGE(1), RANGE(2)]。
5、OUT = RANDINT(M,N,RANGE,STATE)
resets the state of RAND to STATE。
㈡ 用python实现随机生成三个有十个元素的数组把三个合并成一个数组挑出其中的奇数和偶数没有重复
#coding=utf-8
'''
Created on 2012-6-4
@author: Administrator
'''
import random
def test():
minNum = 0#随机数起始
maxNum = 999999#随机数最大
#随机生成三个序列,且为整数
list1 = [random.randint(minNum, maxNum) for i in xrange(10)]
list2 = [random.randint(minNum, maxNum) for i in xrange(10)]
list3 = [random.randint(minNum, maxNum) for i in xrange(10)]
lastList = list1 + list2 + list3#合在一起
lastList = list(set(lastList))#去掉重复,利用set是无序不重复的
oddNumList = []#用于保存奇数序列
evenNumList = []#用于保存偶数
for num in lastList:
if num % 2 == 0:
evenNumList.append(num)
else:
oddNumList.append(num)
print u"奇数有:", oddNumList, "共%d个" % len(oddNumList)
print u"偶数有:", evenNumList, "共%d个" % len(evenNumList)
if __name__ == '__main__':
test()
㈢ Python中怎样对数组中的值进行选择性,调换位置的输出。例如:a,b,c,d,e,f.输出成为a,c,f,e.
#调换谈拆位置的输出
stin = ['A','B','C','D','E','F','G','乎侍键H','I','X']
inp = input('enter the sort:')
def change(pa):
file = open("D:\dir\a.txt","a")
pas = pa.split(',');
print(pas)
for i in pas:
print(stin[int(i)],end=" "岁巧)
file.write(stin[int(i)]+" ")
file.close()
change(inp)
在D盘创建D:\dir\a.txt 查看输出
刚刚玩这个东西,期待高手指点
㈣ Python 数据处理(二十四)—— 索引和选择
如果你想获取 'A' 列的第 0 和第 2 个元素,你可以这样做:
这也可以用 .iloc 获取,通过使用位置索引来选择内容
可以使用 .get_indexer 获取多个索引:
警告 :
对于包含一个或多个缺失标签的列表,使用 .loc 或 [] 将不再重新索引,而是使用 .reindex
在以前的版本中,只要索引列表中存在至少一个有效标签,就可以使用 .loc[list-of-labels]
但是现在,只要索引列表中存在缺失的标签将引发 KeyError 。推荐的替代方法是使用 .reindex() 。
例如
索引列表的标签都存在
先前的版本
但是,现在
索引标签列表中包含不存在的标签,使用 reindex
另外,如果你只想选择有效的键,可以使用下面的方法,同时保留了数据的 dtype
对于 .reindex() ,如果有重复的索引将会引发异常
通常,您可以将所需的标签与当前轴做交集,然后重新索引
但是,如果你的索引结果包含重复标签,还是会引发异常
使用 sample() 方法可以从 Series 或 DataFrame 中随机选择行或列。
该方法默认会对行进行采样,并接受一个特定的行数、列数,或数据子集。
默认情况下, sample 每行最多返回一次,但也可以使用 replace 参数进行替换采样
默认情况下,每一行被选中的概率相等,但是如果你想让每一行有不同的概率,你可以为 sample 函数的 weights 参数设置抽样权值
这些权重可以是一个列表、一个 NumPy 数组或一个 Series ,但它们的长度必须与你要抽样的对象相同。
缺失的值将被视为权重为零,并且不允许使用 inf 值。如果权重之和不等于 1 ,则将所有权重除以权重之和,将其重新归一化。例如
当应用于 DataFrame 时,您可以通过简单地将列名作为字符串传递给 weights 作为采样权重(前提是您要采样的是行而不是列)。
sample 还允许用户使用 axis 参数对列进行抽样。
最后,我们还可以使用 random_state 参数为 sample 的随机数生成器设置一个种子,它将接受一个整数(作为种子)或一个 NumPy RandomState 对象
当为该轴设置一个不存在的键时, .loc/[] 操作可以执行放大
在 Series 的情况下,这实际上是一个追加操作
可以通过 .loc 在任一轴上放大 DataFrame
这就像 DataFrame 的 append 操作
由于用 [] 做索引必须处理很多情况(单标签访问、分片、布尔索引等),所以需要一些开销来搞清楚你的意图
如果你只想访问一个标量值,最快的方法是使用 at 和 iat 方法,这两个方法在所有的数据结构上都实现了
与 loc 类似, at 提供了基于标签的标量查找,而 iat 提供了基于整数的查找,与 iloc 类似
同时,你也可以根据这些索引进行设置值
如果索引标签不存在,会放大数据
另一种常见的操作是使用布尔向量来过滤数据。运算符包括:
|(or) 、 &(and) 、 ~ (not)
这些必须用括号来分组,因为默认情况下, Python 会将 df['A'] > 2 & df['B'] < 3 这样的表达式评估为 df['A'] > (2 & df['B']) < 3 ,而理想的执行顺序是 (df['A'] > 2) & (df['B'] < 3)
使用一个布尔向量来索引一个 Series ,其工作原理和 NumPy ndarray 一样。
您可以使用一个与 DataFrame 的索引长度相同的布尔向量从 DataFrame 中选择行
列表推导式和 Series 的 map 函数可用于产生更复杂的标准
我们可以使用布尔向量结合其他索引表达式,在多个轴上索引
iloc 支持两种布尔索引。如果索引器是一个布尔值 Series ,就会引发异常。
例如,在下面的例子中, df.iloc[s.values, 1] 是正确的。但是 df.iloc[s,1] 会引发 ValueError 。
㈤ python怎么随机取列表的值
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
importrandom
iRandom=[]#定义随机数列表
listRandom=list(range(1,61))#生成整数型1-60的列表组合
random.shuffle(listRandom)#打乱列表顺序
iRandom=listRandom[0:10]#截取打乱后的前10个值,赋值给新列表iRandom
print('随机列表组合:',iRandom)