已经问过类似的问题,但没有一个答案完全符合我的需要 - 有些允许多维搜索(又名 matlab 中的“行”选项)但不返回索引。有些返回索引但不允许行。我的数组非常大(1M x 2)并且我成功地制作了一个有效的循环,但显然这非常慢。在 matlab 中,内置的 ismember 函数大约需要 10 秒。
这是我要找的:
a=np.array([[4, 6],[2, 6],[5, 2]])
b=np.array([[1, 7],[1, 8],[2, 6],[2, 1],[2, 4],[4, 6],[4, 7],[5, 9],[5, 2],[5, 1]])
Run Code Online (Sandbox Code Playgroud)
执行此操作的确切 matlab 函数是:
[~,index] = ismember(a,b,'rows')
Run Code Online (Sandbox Code Playgroud)
在哪里
index = [6, 3, 9]
Run Code Online (Sandbox Code Playgroud) 我尝试了几种使用方法to_datetime,但到目前为止我只能将它作为"对象"返回dtype
pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True)
Run Code Online (Sandbox Code Playgroud)
该命令的返回值为:
0 28Dec2013 19:23:15
dtype: object
Run Code Online (Sandbox Code Playgroud)