小编Joh*_*hin的帖子

pandas按另一列中的值对列进行排序

我有一个数据集,我想根据它排序和分配排名.

假设它有两列,一列是年份,另一列是我想要排序的列.

import pandas as pd
data = {'year': pd.Series([2006, 2006, 2007, 2007]), 
        'value': pd.Series([5, 10, 4, 1])}
df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

我希望每年对列"值"进行排序,然后对其进行排名.我想拥有的是什么

data2= {'year': pd.Series([2006, 2006, 2007, 2007]), 
        'value': pd.Series([10, 5, 4, 1]),  
        'rank': pd.Series([1, 2, 1, 2]}
df2=pd.DataFrame(data2)

>>> df2
   rank  value  year
0     1     10  2006
1     2      5  2006
2     1      4  2007
3     2      1  2007
Run Code Online (Sandbox Code Playgroud)

python sorting pandas

5
推荐指数
1
解决办法
5558
查看次数

标签 统计

pandas ×1

python ×1

sorting ×1