Dataframe排名從1

在Python中,可以使用pandas庫來處理數據框(DataFrame)。要對數據框中的數據進行排名,可以使用rank方法。

以下是一個簡單的例子,展示了如何對一個數據框的某一列進行排名:

import pandas as pd

# 假設有一個數據框如下:
df = pd.DataFrame({'Column1': [2, 5, 3, 7, 1],
                  'Column2': [1, 2, 3, 4, 5]})

# 對Column1進行排名
df['Ranked Column1'] = df['Column1'].rank()

# 對Column2進行排名
df['Ranked Column2'] = df['Column2'].rank()

# 列印排名後的數據框
print(df)

輸出將是:

   Column1  Column2  Ranked Column1  Ranked Column2
0        2       1                2                1
1        5       2                3                2
2        3       3                4                3
3        7       4                5                4
4        1       5                1                5

這裡,rank方法會對每一個數值進行排名,最小的數值會得到1,最大的數值會得到排名中的最後一個數字,其餘的數值則會得到它們之間的排名。

如果你想要從1開始排名,而不是從0開始排名,你可以使用rank方法的method參數,並設置為'dense'

df['Ranked Column1'] = df['Column1'].rank(method='dense')

這樣,排名就會從1開始,而不是從0開始。