将整个列乘以一个随机数,并将其存储为新列

时间:2019-05-21 19:41:14

标签: python pandas scikit-learn

我有一个包含100行的列,并且我想从该列中生成多个列(例如100)。这些新列应通过将第一列乘以随机值来生成。有办法使用python吗?我已经使用excel进行过尝试,但这是一项繁琐的工作,因为我必须将每一列乘以随机生成的数字(randbetween(a,b))。

2 个答案:

答案 0 :(得分:1)

假设您有一列数字数据:

await controller.Get();

现在,让我们利用支持向量标量乘法的import numpy as np import random # random.randint(a,b) will choose a random integer between a and b # this will create a column that is 96 elements long col = [random.randint(0,500) for i in range(96)] 创建更多列:

numpy.array

现在,您可以循环遍历以添加新列

arr = np.array(col)

# our dataframe has one column in it
df = pd.DataFrame(arr, columns=['x'])
a, b = 100, 5000 # set what interval to select random numbers from

答案 1 :(得分:1)

您可以使用Numpy整形将具有随机数的列相乘

a, b = 10 ,20
df = pd.DataFrame({'col':np.random.randint(0,500, 100)})
df['col'].values * np.random.randint(a, b, 100).reshape(-1,1)

要在数据框中获得结果,

pd.DataFrame(df['col'].values * np.random.randint(a, b, 100).reshape(-1,1))