Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建两列,一列包含随机数,另一列包含第一列的立方_Python_Python 3.x - Fatal编程技术网

Python 创建两列,一列包含随机数,另一列包含第一列的立方

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 当前代码

正如标题所说,我只想创建两列,一列有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

当前代码有几个问题:

  • 您正在以一种非常罕见的方式导入库。将
    numpy作为np
    导入或将
    熊猫作为pd
    导入更为常见

  • randint()
    需要正确调用。它不是python中的内置函数。它是np.random下的一种方法,因此,可以在导入阶段从numpy.random导入randint执行
    ,也可以像下面那样使用它。另外,
    randint()
    也包含一些参数

  • 范围(0,99)
    将仅为您生成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