Python 创建两列,一列包含随机数,另一列包含第一列的立方
正如标题所说,我只想创建两列,一列有100个随机数,另一列有第一列的立方值。这是我的尝试:Python 创建两列,一列包含随机数,另一列包含第一列的立方,python,python-3.x,Python,Python 3.x,正如标题所说,我只想创建两列,一列有100个随机数,另一列有第一列的立方值。这是我的尝试: import pandas as p import numpy as n c1 = list() c2 = list() for n in range (0, 99): c1 = [randint()] c2 = c1*c1*c1 print (c1, c2) 我认为randint()函数是内置的,但它给出了一条错误消息。我相信您错过了: 来自随机导入randint 当前代码
import pandas as p
import numpy as n
c1 = list()
c2 = list()
for n in range (0, 99):
c1 = [randint()]
c2 = c1*c1*c1
print (c1, c2)
我认为randint()函数是内置的,但它给出了一条错误消息。我相信您错过了:
来自随机导入randint
当前代码有几个问题:
- 您正在以一种非常罕见的方式导入库。将
导入或将numpy作为np
导入更为常见熊猫作为pd
需要正确调用。它不是python中的内置函数。它是np.random下的一种方法,因此,可以在导入阶段从numpy.random导入randint执行randint()
,也可以像下面那样使用它。另外,
也包含一些参数randint()
将仅为您生成99个数字。您应该使用范围(0,99)
或range(0100)
range(100)
- 您不能使用
列表执行
。您需要为每个元素执行此操作。您可以使用列表理解(见下文)。或者,您可以使用c1*c1*c1
在c1=np.array(c1)
numpy数组中转换
,然后执行列表
c1*c1*c1
import numpy as np
#using list comprehension to generate 100 random numbers between 0 to 9
c1 = [np.random.randint(10) for i in range(100)]
#using list comprehension to cube each number
c2 = [x*x*x for x in c1]
print(c1)
print(c2)
输出:
[6 9 3 4 4 0 4 5 5 4 8 7 6 2 7 8 5 6 9 0 4 6 6 1 4 1 2 4 3 2 6 0 1 5 5 6 9
5 2 3 1 4 9 1 8 5 8 1 3 1 0 9 2 5 0 7 9 1 8 9 7 7 2 5 0 2 9 1 0 2 4 4 9 3
3 9 8 0 5 5 2 9 8 2 4 2 7 3 2 6 8 1 5 9 4 6 3 4 2 8]
[216 729 27 64 64 0 64 125 125 64 512 343 216 8 343 512 125 216
729 0 64 216 216 1 64 1 8 64 27 8 216 0 1 125 125 216
729 125 8 27 1 64 729 1 512 125 512 1 27 1 0 729 8 125
0 343 729 1 512 729 343 343 8 125 0 8 729 1 0 8 64 64
729 27 27 729 512 0 125 125 8 729 512 8 64 8 343 27 8 216
512 1 125 729 64 216 27 64 8 512]
由于您已经熟悉了
numpy
,因此可以使用numpy随机函数生成n
数量的随机整数,最大可能的整数是范围限制
,如下所示:
从numpy导入随机
c1=random.randint(范围\极限,大小=(n))
c2=[i**3表示c1中的i]
因此,生成5个介于0和100之间的值
c1 = random.randint(100, size=(5))
然后将它们进行立方体化hi,可能是
import random
,然后使用它print random.randint(0,5)
您需要导入随机模块或使用numpy randint函数,因为您已经导入了numpy