我有一个列表,我想在其中对单个列表中的元素进行排序
Input:
[['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'C4P'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'JL1'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'K05'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'U2K'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'UE1'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'B30', 'C4P'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'B30', 'JL1'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'B30', 'K05'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'B30', 'U2K'],
['AKO', 'CGN', 'G80', 'K34', 'KI4', 'Z82', 'B30', 'UE1']]
Expected output:
[['AKO', 'C4P', 'CGN', 'G80', 'K34', 'KI4', 'Z82'],
['AKO', 'CGN', 'G80', 'JL1', 'K34', 'KI4', 'Z82'],
['AKO', 'CGN', 'G80', 'K05', 'K34', 'KI4', 'Z82'],
.......
.......
['AKO', 'B30', 'CGN', 'G80', 'K34', 'KI4', 'UE1', 'Z82']]
我可以使用for循环来实现这一点,但我想知道是否可以将其矢量化以获得更好的性能
尝试使用np.sort,但列表中的单个元素未排序
如果您的数据是熊猫数据帧(因为您有熊猫标记)。您确实可以使用^{} 。您需要用一些值填充NAN,在这里,我选择了
'_'
在末尾推送NAN输出:
下面是一个更明确的例子:
输入:
输出:
你可以用下面的方法来做
除非您有大量的列表,并且有足够的处理能力并行使用,否则尝试将其矢量化并没有什么特别的优势。由于您是独立地对每个子列表进行排序,所以矢量化对您几乎没有好处。事实上,通过导入
numpy
而不是简单地使用sort
的本机C实现,您可能会在包开销方面损失时间相关问题 更多 >
编程相关推荐