【发布时间】:2020-09-02 21:16:17
【问题描述】:
不同形状的ndarray,较大的形状为(22470,2),看起来像这样
df1
array([[-0.39911392, 0.46759156],
[ 0.28343494, 0.88479157],
[-0.0114085 , -1.23768313],
...,
[-0.35930586, 0.54784439],
[-0.37994004, 0.51332771],
[-0.36309593, 0.49318486]])
代表df1数组异常值的小号是(675,2),看起来像这样
df2
array([[-0.04450032, 0.31053589],
[-0.4320086 , 0.14815988],
[-0.07948631, -1.32638555],
...,
[-0.32619787, 0.34910699],
[-0.50870225, -0.230849 ],
[-0.43532727, 0.49763502]])
因此尝试将它们两者相减以获得一个新数组,该数组包含 df1 中除 df2 之外的所有内容,但它给了我这个错误
ValueError: 操作数不能与形状一起广播 (22470,2) (675,2)
如何在 Python 中做到这一点?
【问题讨论】:
-
您的预期输出是什么?我不明白你的减法应该如何工作
-
@RichieV 例如如果 df1=[ [1,2],[2,2],[3,6]] 和 df2=[2,2] 如果我减去它们或者我不知道减法是否正确我希望结果是这样的 dfnew=[1,2],[3,6]]
-
检查这个answer 找到
LEFT-Excluding你应该被设置 -
您使用的是什么函数或运算符?
df1-df2还是别的什么?