MATLAB函数的Python等价物unique
我知道有人问过这个问题,但我还没有找到答案。非常感谢您的帮助 在Matlab中,它被写成:MATLAB函数的Python等价物unique,python,python-3.x,matlab,group-by,pandas-groupby,Python,Python 3.x,Matlab,Group By,Pandas Groupby,我知道有人问过这个问题,但我还没有找到答案。非常感谢您的帮助 在Matlab中,它被写成:[C,ia,ic]=unique(A) 我对所有输出元素感兴趣,即C、ia和ic 下面是一个matlab函数的示例 我怎样才能用python重现这个呢?如前所述,我对所有输出元素感兴趣,即C、ia和ic使用的解决方案(感谢@SBad自己提高了解决方案的质量): 输出 [2 5 9] [1 3 0] [2 0 2 1] 通过列表理解,您还可以通过以下方式获得ic: ic = [i for j in A f
[C,ia,ic]=unique(A)
我对所有输出元素感兴趣,即C
、ia
和ic
下面是一个matlab函数的示例
我怎样才能用python重现这个呢?如前所述,我对所有输出元素感兴趣,即C
、ia
和ic
使用的解决方案(感谢@SBad自己提高了解决方案的质量):
输出
[2 5 9]
[1 3 0]
[2 0 2 1]
通过列表理解,您还可以通过以下方式获得
ic
:
ic = [i for j in A for i,x in enumerate(C) if x == j]
注意:
请记住,MATLAB使用基于1(一)的索引,而Python使用基于0(零)的索引。请提供一个输入示例和您想要得到的结果。完成。对不起,如果不清楚的话。谢谢你的回答。在数据帧的上下文中,如何扩展上述代码?例如,
C,ia=np.unique(DF[['A','B','C']],return\u index=True)
当我尝试它时,我得到了一个错误…任何进一步的都是非常受欢迎的,谢谢you@SBad我想你应该用一个dataframe的例子问一个新问题。这里我们会把事情搞砸。C,ia,ic=np.unique(A,return\u index=True,return\u inverse=True)
[2 5 9]
[1 3 0]
[2 0 2 1]
ic = [i for j in A for i,x in enumerate(C) if x == j]