欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于dataframe排序 pd.rank()

 更新時(shí)間:2024年09月10日 09:57:25   作者:羊羊豬  
pandas.DataFrame.rank方法支持不同的排序方式,如按行或列、升序或降序等,主要參數(shù)包括axis控制按行或列排名,method定義相同值的處理方式,numeric_only指定是否僅對(duì)數(shù)字列排序,na_option設(shè)置NaN值的排序方法,ascending確定排序方向,pct決定是否以百分比形式展示排名

pandas.DataFrame.rank

pandas.DataFrame.rank 官方文檔

DataFrame.rank(axis=0, method=‘a(chǎn)verage', numeric_only=NoDefault.no_default, na_option=‘keep', ascending=True, pct=False)

參數(shù)解釋

  • axis: axis=0為按行排名,axis=1為按列排名
  • method: 如何對(duì)具有相同價(jià)值(即領(lǐng)帶)的記錄組進(jìn)行排序:
  • numeric_only: 對(duì)于DataFrame對(duì)象,如果設(shè)置為True,則只對(duì)數(shù)字列排序。
  • na_option: 如何對(duì)NaN值進(jìn)行排序:
  • ascending: 元素按升序/降序排列
  • pct: 是否以百分比形式顯示返回的排名。

Example:

df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',
                                   'spider', 'snake'],
                        'Number_legs': [4, 2, 4, 8, np.nan]})

method: {‘a(chǎn)verage', ‘min', ‘max', ‘first', ‘dense'}, default ‘a(chǎn)verage'
  • average: 組里的平均排名
  • min: 組里的最低排名
  • max: 組里的最高排名
  • first: 按照他們在數(shù)組中出現(xiàn)的順序排列
  • dense: 就像’ min '一樣,但是在組之間rank總是增加1。
df['method_average'] = df['Number_legs'].rank(method='average')
df['method_min'] = df['Number_legs'].rank(method='min')
df['method_max'] = df['Number_legs'].rank(method='max')
df['method_first'] = df['Number_legs'].rank(method='first')
df['method_dense'] = df['Number_legs'].rank(method='dense')

na_option: {‘keep', ‘top', ‘bottom'}, default ‘keep'
  • keep: 空值排序仍為空值
  • top: 排序放在第一位
  • bottom: 排在最后一位
df['na_keep'] = df['Number_legs'].rank(na_option='keep')
df['na_top'] = df['Number_legs'].rank(na_option='top')
df['na_bottom'] = df['Number_legs'].rank(na_option='bottom')

ascending: 升序?yàn)門rue, 降序?yàn)镕alse

df['asc_True'] = df['Number_legs'].rank(method='min', ascending=True)
df['asc_False'] = df['Number_legs'].rank(method='min', ascending=False)

pct: 是否顯示百分比

df['pct_True'] = df['Number_legs'].rank(method='min', pct=True)
df['pct_False'] = df['Number_legs'].rank(method='min', pct=False)

分組排序

pandas.core.groupby.GroupBy.rank 官方文檔

Example:

df = pd.DataFrame(
    {"group": ["a", "a", "a", "a", "a", "b", "b", "b", "b", "b"],
      "value": [2, 4, 2, 3, 5, 1, 2, 4, 1, 5],}
)

for method in ['average', 'min', 'max', 'dense', 'first']:
    df[f'{method}_rank'] = df.groupby('group')['value'].rank(method)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論