python - 格式化多维数组
问题描述
如何编写一个函数来隔离二维数组中的0
s 和s。1
所以功能是将位分成块。
[[ 0 38846]
[ 1 51599]
[ 0 51599]
[ 1 52598]
[ 0 290480]
[ 0 360467]]
预期输出:
Ones = 51599 ,52598
Zeroes = 38846, 51599, 290480, 360467
解决方案
我不确定我是否在关注。您是在寻找一种特定的方法,比如 numpy 还是列表理解足够好?无论如何,这里有一些例子:
x = array([[ 0, 38846],
[ 1, 51599],
[ 0, 51599],
[ 1, 52598],
[ 0, 290480],
[ 0, 360467]])
#List comprehension
ones = [v for b,v in x if b]
zeros = [v for b,v in x if b==0]
#Numpy access
ones = x[x[:,0]==1][:,1]
zeros = x[x[:,0]==0][:,1]
推荐阅读
- batch-file - 更改 Windows 启动命令的标题
- c# - 对象的反序列化给出错误:无法反序列化当前的 JSON 对象?
- c# - 用 C# 覆盖 FTP 服务器上已存在的文件时出现“(550)文件不可用”
- ios - 上传到itunesconnect并打开位码后找不到iOS应用程序主要目标符号文件
- html - 在 angular7 中,如何在显示项目列表时更改 mat-select 的高度?
- mysql - **当我执行此过程而不是得到错误 1064**
- entity-framework - 无法解析符号“ForSqliteHasDefaultValueSql”
- unit-testing - Vue Test Utils 中的“存根子组件”是什么?
- android - 如何在按钮单击时添加有限的编辑文本并获取数组中的所有编辑文本数据?
- html - 带有 2 个固定高度图像的 CSS 2 列布局