python - 将列表元素与numpy数组中的列进行比较
问题描述
我有一个python列表如下。
list=['M', 'R', 'W']
和一个如下的numpy数组。
array=[['M',360.0, 360.0],['R', 135.9, 360.0],['W', 101.4, -125.4], ['Y', 115.8, -160.4]]
我想将其中的每个元素list
与 的第一列进行比较array
,然后new_array
使用匹配的元素创建一个。所以典型的输出如下。
new_array=[['M',360.0, 360.0],['R', 135.9, 360.0],['W', 101.4, -125.4]]
我尝试了以下代码。
new_array=np.empty((4,3))
for i in range (0,len(list)):
if list[i]==array[i; 0:1]
new_array=np.append(new_array, (array[i,1:4].reshape(4,3)), axis=0)
解决方案
做这个列表理解:
list=['M', 'R', 'W']
array=[['M',360.0, 360.0],['R', 135.9, 360.0],['W', 101.4, -125.4], ['Y', 115.8, -160.4]]
new_array = [x for x in array if x[0] in list]
print(new_array)
推荐阅读
- java - 在 Java SDK 2.5 中,生产视图不会间歇性地返回结果。0
- tensorflow-lite - 从 TFLite 文件中提取融合激活类型
- linux - 如何向 Linux 终端发送数据
- java - java - 如何在java中“遍历”具有多个文件扩展名的多个目录?
- swift - 如何将 Swift 套接字通信接收到的消息转换为字符串类型
- android - 三星 Galaxy S10 的启动画面变形
- docker - 在 Docker 中运行 Percona 服务器失败并出现套接字错误
- r - R从变量中提取特定文本
- c# - C# 将 byte[] 作为 JSON 发送到 WCF Rest 端点。400 错误请求
- javascript - WebGL:使用单独的纹理渲染两个对象