为了账号安全,请及时绑定邮箱和手机立即绑定

用python压平numpy数组

用python压平numpy数组

墨色风雨 2021-07-20 13:15:48
这是重现我的问题的示例:a = np.array([[1,2], [3,4], [6,7]])b = np.array([[1,2], [3,4], [6,7,8]])c = np.array([[1,2], [3,4], [6]])print(a.flatten())print(b.flatten())print(c.flatten())当其中一个数组的项目少或多时,就会出现问题。Output:[1 2 3 4 6 7][list([1, 2]) list([3, 4]) list([6, 7, 8])] # Won't work[list([1, 2]) list([3, 4]) list([6])]       # Also won't workHow I want it:[1 2 3 4 6 7][1 2 3 4 6 7 8][1 2 3 4 6]有谁知道如何正确地展平列表,例如 b 和 c?
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

使用 concatenate


np.concatenate(b)

Out[204]: array([1, 2, 3, 4, 6, 7, 8])

np.concatenate(c)

Out[205]: array([1, 2, 3, 4, 6])


查看完整回答
反对 回复 2021-07-28
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

你需要:


from itertools import chain


a = np.array([[1,2], [3,4], [6,7]])


b = np.array([[1,2], [3,4], [6,7,8]])


c = np.array([[1,2], [3,4], [6]])


print(a.flatten())

print(list(chain(*b)))

print(list(chain(*c)))

输出:


[1 2 3 4 6 7]

[1 2 3 4 6 7 8]

[1 2 3 4 6]


查看完整回答
反对 回复 2021-07-28
  • 2 回答
  • 0 关注
  • 569 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号