gpt4 book ai didi

python - 按第二列重新排序 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 01:18:34 25 4
gpt4 key购买 nike

我需要用第二列重新排序 pandas 数据框:

  colors        numbers
0 red '1 - 49 ch'
1 white '10 - 490 ch'
3 blue '100 - 4900 ch'
4 green '2 - 3000 ch'
5 blue '10 - 4900 ch'
6 blue '1 - 49 ch'

此列包含我需要按第一个元素拆分和排序以获得此结果的字符串:

  colors        numbers
0 red '1 - 49 ch'
1 blue '1 - 49 ch'
2 green '2 - 3000 ch'
3 white '10 - 490 ch'
4 blue '10 - 4900 ch'
5 blue '100 - 4900 ch'

如何遍历第二列以获得我需要的结果?

for i in df['numbers']:
print(i.split(" - ")[0])

谢谢

最佳答案

我们可以尝试提取数字,并对它们进行排序:

(df.join(df.numbers.str.extract('(\d+) - (\d+)').astype(int))
.sort_values([0,1], kind='mergesort')
.drop([0,1], axis=1)
)

输出:

  colors          numbers
0 red '1 - 49 ch'
6 blue '1 - 49 ch'
4 green '2 - 3000 ch'
1 white '10 - 490 ch'
5 blue '10 - 4900 ch'
3 blue '100 - 4900 ch'

关于python - 按第二列重新排序 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62954832/

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