在我的项目的一部分中,我需要创建一个随机的月份名称并将它们存储到数据框列中。 目前我正在使用以下代码段: 首先,创建预定义大小的数据框:
df = pd.DataFrame(index=range(size))
然后创建120个随机时间戳并将它们存储到['Timestamp']列中:
df["Timestamp"] = [ pd.Timestamp(2017, np.random.randint(1,13), 1) for _ in range(120) ]
最后提取月份并将它们划入['STD_Months']列:
df["STD_Months"] = df["Timestamp"].apply(lambda x: x.strftime('%B'))
这创造了随机月份,但数量不同,我的意思是我们可能在120个样本中有1月10日,5月14日,12月8日等(数量不等)
如何修改我的代码以获得相同数量的随机样本(每月10个实例名称:1月10日,2月10日,......,12月10日)
答案 0 :(得分:1)
一种方法是创建一个非随机列表,然后将其随机播放:
import random
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
months *= 10
random.shuffle(months)
然后只使用months
作为列。