gpt4 book ai didi

python - 如何根据字母_和_数字对 Pandas 列进行排序?

转载 作者:行者123 更新时间:2023-12-05 00:44:37 25 4
gpt4 key购买 nike

我有一个 Pandas DataFrame,它列出了 96 孔或 384 孔板中的孔,我希望对它们进行排序。这些井被标记为:

A1, A2, A3, ..., A10, A11, A12, B1, B2, B3,...

在我的 Pandas DataFrame 中,按 well 排序专栏给了我:
A1, A10, A11, A12, A2, A3, ...

但是,上面的排序顺序是我想要的。

除了将列拆分为字母和数字列,然后按两列排序之外,是否还有更智能或更简洁的替代方法?

最佳答案

IIUC,你可以试试:

l = ['A1', 'A10', 'A3', 'A2', 'A11', 'A12', 'B1', 'B2', 'B3']
sorted(l,key = lambda x: (x[0],int(x[1:])))

natsort :
import natsort as ns
ns.natsorted(l)

['A1', 'A2', 'A3', 'A10', 'A11', 'A12', 'B1', 'B2', 'B3']
['A1', 'A2', 'A3', 'A10', 'A11', 'A12', 'B1', 'B2', 'B3']

关于python - 如何根据字母_和_数字对 Pandas 列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59953743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com