python - 使用 numpy.where 比较特定的数组项
问题描述
我一直在寻找使用numpy.where
. 我有一个熊猫数据框如下:
Id City UF
0 1 [5057, Itu, 26] [26, São Paulo]
1 2 [5366, Sorocaba, 26] None
2 3 [5347, São Paulo, 26] [26, São Paulo]
3 4 [3288, Curitiba, 18] [18, Paraná]
4 5 [162, Manaus, 3] [3, Amazonas]
对于每一行,我想将数组City中的第三项与数组UF中的第一项进行比较。我试过这样:
np.where((pdf.loc[pdf['Cidade']:, 2] == pdf.loc[pdf['UF']:, 0]), True, False)
但没有成功。我发现的每个类似样本都是关于比较整个数组。
谢谢指教。
解决方案
几乎你所说的@Mstaino。
我得到了我想要的使用下面的代码:
np.where((pdf['Cidade'].apply(lambda x: x[2] if x is not None else None) == pdf['UF'].apply(lambda x: x[0] if x is not None else None)), True, False)
感谢提示!
推荐阅读
- android - Flutter 插件:找不到 java/kotlin(本机文件)
- asp.net-mvc - 在控制台应用程序上运行 Nopcommerce
- arm - 什么是 ARM MMU 内存属性“P”字段?
- javascript - 页面或脚本正在访问 navigator.userAgent、navigator.appVersion 和 navigator.platform 中的至少一个
- html - 隐藏响应式布局的图像
- python - Plotly express 不加载并拒绝连接
- sql - 如何比较 Sql Server 表中的 2 列值
- google-app-engine - 如何在不停止旧版本的情况下部署新版本的 Google App Engine 生产服务器?
- ffmpeg - 为什么andorid相机和gopros不使用b帧?
- c++ - LibCurl C++:多路复用时减慢请求的发送