有什么方法可以生成随机浮动数组作为"价格"列中的元素吗?
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)