在列中生成随机浮点数作为元素



有什么方法可以生成随机浮动数组作为"价格"列中的元素吗?

import pandas as pd 
data = pd.read_csv("C:\users\Hp\Downloads\Stock.csv")
data = data.rename(columns={'Date': 'Exportation Date'})
data['Exportation Month'] = data['Exportation Date'].str[6:7] 
data['Price'] = 1.2
data.head()

输出(我删除了一些列,因为尺寸太大,无法容纳问题部分(:

Exportation Month   Price
0   2               1.2
1   6               1.2
2   1               1.2
3   8               1.2
4   8               1.2

我想要的输出(假设"价格"中的数字是随机生成的(:

Exportation Month   Price
0   2               5.4
1   6               2.5
2   1               4.4
3   8               17.1
4   8               2.3

假设你想要一个0到100之间的价格,小数点后1位,你可以这样做:

from random import uniform
data['Price'] = [round(uniform(0, 100), 1) for i in range(len(data))]

我会这样做:

from random import randrange
randObj = f'{randrange(99)}.{randrange(99)}'
data['Price'] = float(randObj)

您只需使用numpy.random

import pandas as pd
import numpy as np
# Fake Data
df = pd.DataFrame({"a": [1, 2],
"b": [3, 4]})
# Add Price
df["Price"] = np.random.uniform(low=0, high=10, size=len(df))
# Eventually use 2 decimal places only.
df["Price"] = df["Price"].round(2)

相关内容

最新更新