python - 每 n 行重复随机数
问题描述
我有一个包含 2 列的大型数据框,如下所示:
dtm SoC
0 2018-03-01 00:00:00 +0000 39
1 2018-03-01 00:00:01 +0000 39
2 2018-03-01 00:00:02 +0000 39
3 2018-03-01 00:00:03 +0000 39
... ... ...
2678393 2018-04-01 00:59:53 +0100 39
2678394 2018-04-01 00:59:54 +0100 39
2678395 2018-04-01 00:59:55 +0100 39
2678396 2018-04-01 00:59:56 +0100 39
2678397 2018-04-01 00:59:57 +0100 39
2678398 2018-04-01 00:59:58 +0100 39
2678399 2018-04-01 00:59:59 +0100 39
SoC 列是 0 到 40 之间的随机生成数。我希望它是每 86400 行重复的不同随机数(并且对于整个数据帧不一样)。
为了更清楚:
-rows 0-86399 第一个随机数
-rows 86400-172800 第二个随机数
-ETC
我正在尝试df['SoC']=np.repeat(random.randint(0,40),len(df)/86400)
,但出现错误“值的长度与索引的长度不匹配”
想法?先感谢您
解决方案
首先创建具有参数大小的数组,并对整数进行地板除法,然后repeat
:
#possible duplicated random values
df['SoC'] = np.repeat(np.random.randint(0,40, size=len(df) // 86400), 86400)
#unique random numbers
df['SoC'] = np.repeat(np.random.choice(np.range(0, 40),
size=len(df) // 86400, replace=False), 86400)
推荐阅读
- ios - 是否可以将 NMAVoicePackage CountryCode 更改为印度尼西亚?
- express - 如何从同一网络中的另一台计算机访问我的 nodejs-express localhost 服务器?
- xamarin - 登录玩家名称未显示在 Xamarin 表单中导航栏的标题中
- jquery - jQuery - 基于复选框标签背景颜色的 css 颜色
- excel - 重新加载表单时如何保留文本框中的值
- javascript - create-react-app 不拾取 .env 文件
- javascript - 如何在 GraphQL 中正确链接 useQuery 和 useMutation?
- iis - 网站主页错误,但 Default.aspx 正在运行
- c# - 对路径的访问被拒绝到虚拟目录的物理路径
- c# - 如何处理 Xamarin.forms webview 中的加载错误