python - 不能用 numpy 展平数组
问题描述
我有一个输出如下:
data = [array([1. , 1.14112001, 0.7205845 , 1.41211849, 0.46342708,
1.65028784, 0.24901275]),
array([1.83665564, 0.09442164, 1.95637593, 0.01196838, 1.99991186,
0.00822115, 1.96379539]),
array([0.08347845, 1.85090352, 0.23174534, 1.67022918, 0.44121095,
1.43616476])]
那是 3 个数组的列表。我必须展平阵列。这应该很简单,data.flatten("F")
但它不起作用
输出应包含每个数组的第一个元素,然后是第二个元素,依此类推。
比如:1,1.83665564,1.14112001,0.09442164,1.85090352
等等。我怎样才能做到这一点
更新 :
我用给定代码得到的输出如下
array([array([1. , 1.14112001, 0.7205845 , 1.41211849, 0.46342708,
1.65028784, 0.24901275]),
array([1.83665564, 0.09442164, 1.95637593, 0.01196838, 1.99991186,
0.00822115, 1.96379539]),
array([0.08347845, 1.85090352, 0.23174534, 1.67022918, 0.44121095,
1.43616476])], dtype=object)
解决方案
from numpy import array
data = [array([1. , 1.14112001, 0.7205845 , 1.41211849, 0.46342708,
1.65028784, 0.24901275]),
array([1.83665564, 0.09442164, 1.95637593, 0.01196838, 1.99991186,
0.00822115, 1.96379539]),
array([0.08347845, 1.85090352, 0.23174534, 1.67022918, 0.44121095,
1.43616476])]
max=len(max(data,key=len))
final_list=[]
for index in range (0,max):
final_list.extend([a[index] for a in data if len(a)>index])
print(final_list)
输出:
[1.0, 1.83665564, 0.08347845, 1.14112001, 0.09442164, 1.85090352, 0.7205845, 1.95637593, 0.23174534, 1.41211849, 0.01196838, 1.67022918, 0.46342708, 1.99991186, 0.44121095, 1.65028784, 0.00822115, 1.43616476, 0.24901275, 1.96379539]
推荐阅读
- ios - 从导航栏重新加载上一个视图
- python - Django Rest Framework 密码和唯一电子邮件的额外 kwargs 字段
- php - 使用 laravel 插入 mysql
- reactjs - 将 Reactjs 与 electronjs 一起使用得到意外的令牌 '<' 错误
- botframework - Botframework Composer 聊天机器人从中断的地方继续
- python - 使用numpy的矩阵矩阵中的元素总和
- android - BaseClass 中的 Kotlin 泛型。试图通过 BaseFragment 中的泛型类型获取 ViewModel
- unix - 生成连续编号的 url
- arrays - 当仅使用 1 和 0(考虑 CPU 缓存)时,我应该对 md 数组使用按位运算而不是整数类型吗?
- ios - iOS 模拟器在启动时总是要求登录 Apple 帐户