这是我的子集数据帧,按排序顺序显示,
我想根据数据框内的年份值进行排序,我尝试查找数据框的排名值 但没有得到预期的结果。
import pandas as pd
df = pd.read_csv('data.csv', sep=',')
df.sort_values(['Year'], inplace=True)
print(df.head())
# Output::
Year Name Frame
2016 Yakub 24
2016 Yakub_1 24
2017 Drag 25
2017 Drag_1 25
2017 Drag_2 25
2018 Rock 26
2018 Rock_1 26
# Applied to data
df['Order'] = df.groupby('Year', sort=False)['Year'].rank(ascending=True, method='first', axis=1)
print(df.head())
# Output ::
Year Name Frame Order
2016 Yakub 24 1.0
2016 Yakub_1 24 1.5
2017 Drag 25 3.0
2017 Drag_1 25 2.5
2017 Drag_2 25 1.5
2018 Rock 26 1.0
2018 Rock_1 26 2.0
# But I want my should be in this
Year Name Frame Order
2016 Yakub 24 1
2016 Yakub_1 24 1
2017 Drag 25 2
2017 Drag_1 25 2
2017 Drag_2 25 2
2018 Rock 26 3
2018 Rock_1 26 3