gpt4 book ai didi

python - 我如何对 Pandas 中的语义版本进行排序?

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:20 25 4
gpt4 key购买 nike

我有一个软件版本列表。软件遵循语义版本规范,即有主版本、次版本和补丁版本:

  • 0.1
  • 0.2
  • 0.2.1
  • 0.3
  • ...
  • 0.10
  • 0.10.1

pandas 有没有办法对这些版本进行排序,使 0.2 大于 0.1 但小于 0.10?

最佳答案

使用排序 的 Pandas 解决方案,StrictVersion solution并分配给列:

print (df)
ver
0 0.1
1 0.2
2 0.10
3 0.2.1
4 0.3
5 0.10.1

from distutils.version import StrictVersion

df['ver'] = sorted(df['ver'], key=StrictVersion)
print (df)
ver
0 0.1
1 0.2
2 0.2.1
3 0.3
4 0.10
5 0.10.1

编辑:

对于排序索引,可以使用 reindex :

print (df)
a b
ver
0.1 1 q
0.2 2 w
0.10 3 e
0.2.1 4 r
0.3 5 t
0.10.1 6 y

from distutils.version import StrictVersion

df = df.reindex(index=pd.Index(sorted(df.index, key=StrictVersion)))
print (df)
a b
0.1 1 q
0.2 2 w
0.2.1 4 r
0.3 5 t
0.10 3 e
0.10.1 6 y

关于python - 我如何对 Pandas 中的语义版本进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44685219/

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