python - 使用 Pandas 查找两组数据之间的差异
问题描述
我有两个数组,每个数组都包含数百个不同的值,可以说,
list1 = [23.13, 89.50, 12.99, 40.89,...]
list2 = [45.21, 2.02, 79.89, 20.30, ....]
我有一个单独的数组,表示我想从每个数组中比较的条目的索引(0 表示两个数组中的第一个条目,434 表示第 435 个条目,依此类推)。让我们调用这个数组
指数 = [0, 12, 304, ...]
我的目标是从两个列表中获取索引在 indx 中列出的条目,减去这些值,然后将它们存储在另一个数组中。我想使用 Pandas,因为我的大部分代码都使用了 pandas。谢谢你。
解决方案
如果你有
list1 = np.array([23.13, 89.50, 12.99, 40.89])
list2 = np.array([45.21, 2.02 , 79.89, 20.30])
indx = [0, 2, 3]
然后简单
>>> list1[indx] - list2[indx]
array([-22.08, -66.9 , 20.59])
同样,如果你有pd.Series
而不是np.array
,
pd.Series(list1)[indx] - pd.Series(list2)[indx]
0 -22.08
2 -66.90
3 20.59
dtype: float64
对于不对称长度,
nindx = indx[indx < min(map(len, [list1, list2]))]
>>> list1[nindx] - list2[nindx]
推荐阅读
- java - 检查 Liquibase 前提条件中是否不为空或不为 0
- swift - 在 Swift 4.2 中是否可以使用特定类型的 rawValue 为枚举编写默认扩展?
- python - 将 3D 数组转换为 2D 数组,去除不必要的值
- android - Android Studio 模拟器显示问题
- android - 具有 2 个回收站视图的协调器布局
- c# - 去抖动异步属性刷新
- javascript - 使用默认解构值javascript进行对象解构
- android - E/PDFCreatorioException:java.io.FileNotFoundException: /storage/emulated/0/PDF/form.pdf (没有这样的文件或目录)
- python - 用减少的尾数(有效)浮点数将 ax 浮点数舍入到 y
- wso2 - WSO2 DSS如何在SQL语句中多处使用SQL输入参数