python - 如何在 Dataframe 中保存排序顺序?

标签 python sorting pandas dataframe

我想在Dataframe中添加一个新列来保存排序顺序,它是按其中一列排序的。例如,我想按“B”列(升序)排序并添加一个新列“C”以保存排序顺序。这意味着我想得到一个列'C',它是[4,3,1,2,4,2]

df=pd.DataFrame({"A":[1,2,3,4,5,6],"B":[5,2,0,1,5,1]})

最佳答案

试试rank , 和 method='dense' 这样组之间的排名总是增加 1:

import pandas as pd
df=pd.DataFrame({"A":[1,2,3,4,5,6],"B":[5,2,0,1,5,1]})
df['C']=df['B'].rank(method='dense')
df

输出:

    A   B   C
0   1   5   4
1   2   2   3
2   3   0   1
3   4   1   2
4   5   5   4
5   6   1   2

关于python - 如何在 Dataframe 中保存排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44340907/

相关文章:

java - 一种半随机排序算法(Java)

python - 添加 GroupBy 平均结果作为 Pandas 中的新列

python - 如何编写 python/pandas 循环以将 sql 查询中的日期增加一天

python - read_csv 没有正确读取此文件上的列名?

python: object() 不带参数错误

python - 映射具有多个参数的特定函数的最佳 pythonic 方法

python - 在Python中,如何对一个迭代对象进行多次迭代?

python - 如何舍入 numpy 矢量化函数返回的列表?

php - 按不是第一个维度的数值对多维数组进行排序

python - 以中间元素为轴心进行快速排序