How to repeat a series of numbers with shape (n,1) as an array of n unique numbers repeated by 4 times with a shape of (n,1)(如何将形状为(n,1)的一系列数字作为n个唯一数字的数组重复4次,形状为(n,1))
本文介绍了如何将形状为(n,1)的一系列数字作为n个唯一数字的数组重复4次,形状为(n,1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我认为这是一个相对简单的问题,但我一直在努力让它变成正确的形状。 我有一个序列/数据框列,结构如下:
0 0.127883
1 0.129979
2 0.130000
...
1000 0.090000
我想将其转换为:
[[array([0.12788259, 0.12788259, 0.12788259, 0.12788259])]
[array([0.12997902, 0.12997902, 0.12997902, 0.12997902])]
[array([0.13, 0.13, 0.13, 0.13])]
...
[array([0.09, 0.09, 0.09, 0.09])]
[array([0.09, 0.09, 0.09, 0.09])]
[array([0.09, 0.09, 0.09, 0.09])]]
本质上,我试图创建一个形状为(n,1)的矩阵,其中包含重复4次的输入数字,但包装在一个数组中。我只能访问以下内容:
arr_out = np.array(np.tile(np.array(a).reshape(-1,1),4))
和相应的结果,虽然看起来是一样的,但变量之间没有逗号,也没有‘array’包装:
[[1.12788259 1.12788259 1.12788259 1.12788259]
[1.12997902 1.12997902 1.12997902 1.12997902]
[1.13 1.13 1.13 1.13 ]
...
[1.09 1.09 1.09 1.09 ]
[1.09 1.09 1.09 1.09 ]
[1.09 1.09 1.09 1.09 ]]
提前感谢!
推荐答案
此方法如何:
import numpy as np
ser = np.arange(5, dtype = float) # Edit: added argument 'dtype = float'
arr = ser.repeat(4).reshape(-1, 4)
l = list(arr)
ob_arr = np.array([None for i in range(len(l))], dtype = object)
for i in range(len(ob_arr)):
ob_arr[i] = l[i]
输出:
array([array([0., 0., 0., 0.]), array([1., 1., 1., 1.]),
array([2., 2., 2., 2.]), array([3., 3., 3., 3.]),
array([4., 4., 4., 4.])], dtype=object)
这篇关于如何将形状为(n,1)的一系列数字作为n个唯一数字的数组重复4次,形状为(n,1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何将形状为(n,1)的一系列数字作为n个唯一数字的数组重复4次,形状为(n,1)
基础教程推荐
猜你喜欢
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 包装空间模型 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- 求两个直方图的卷积 2022-01-01
