python 可以根据元素值删除的是_按值从numpy数组中删除元素

Pythonsets在提供差异方面做得很好。但它不能维持秩序np.array(list(set(tuple(x) for x in a.tolist()).difference(set(tuple(x) for x in b.tolist()))))

或者使用布尔索引,使用广播创建一个outer equals,和sum与any和allA = np.all((a[None,:,:]==b[:,None,:]),axis=-1)

A = np.any(A,axis=0)

a[~A,:]

或者使a和b复杂:ac = np.dot(a,[1,1j])

bc = np.dot(b,[1,1j])

A = np.any(ac==bc[:,None],axis=0)

a[~A,:]

或者使用setxor1dxx = np.setxor1d(ac,bc)

# array([ 2.+1.j, 3.+1.j, 3.+3.j])

np.array([xx.real,xx.imag],dtype=int).T

一、二、二、三In [222]: ac = np.dot(a,[1,1j])

...: bc = np.dot(b,[1,1j])

In [223]: ac

Out[223]: array([ 1.+1.j, 2.+1.j, 3.+1.j, 3.+2.j, 3.+3.j, 5.+5.j])

In [225]: bc

Out[225]: array([ 1.+1.j, 5.+5.j, 3.+2.j])

In [226]: ac == bc[:,None]

Out[226]:

array([[ True, False, False, False, False, False],

[False, False, False, False, False, True],

[False, False, False, True, False, False]], dtype=bool)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值