最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas.DataFrame Series排序的使用(sort_values,sort_index)

 更新時間:2023年02月23日 09:36:59   作者:餃子大人  
本文主要介紹了pandas.DataFrame Series排序的使用(sort_values,sort_index),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

要對pandas.DataFrame和pandas.Series進行排序,可以使用sort_values()和sort_index()方法。

請注意,舊版本中存在的sort()方法已廢棄。

按元素排序sort_values()

  • 升序,降序(參數(shù)ascending)
  • 多列排序
  • 缺失值NaN的處理(參數(shù)na_position)
  • 更改原始對象(參數(shù)inplace)

按行方向排序(參數(shù)axis)

  • 按索引排序(行名/列名)sort_index()
  • 按行名索引排序
  • 升序,降序(參數(shù)ascending)
  • 更改原始對象(參數(shù)inplace)
  • 按列名列排序(參數(shù)axis)

以以下數(shù)據(jù)為例。

import pandas as pd

df = pd.read_csv('./data/17/sample_pandas_normal.csv')
print(df)
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 3 ? ? Dave ? 68 ? ?TX ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 5 ? ?Frank ? 30 ? ?NY ? ? 57

示例是pandas.DataFrame,但是pandas.Series也具有sort_values()和sort_index(),因此用法是相同的。

按元素排序sort_values()

使用sort_values()方法根據(jù)元素值進行排序。

在第一個參數(shù)(by)中指定要排序的列的標簽(列名)。

df_s = df.sort_values('state')
print(df_s)
#       name  age state  point
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70
# 4    Ellen   24    CA     88
# 0    Alice   24    NY     64
# 5    Frank   30    NY     57
# 3     Dave   68    TX     70

升序,降序(參數(shù)ascending)

默認為升序。如果要使用降序,請將升序參數(shù)設置為False。

df_s = df.sort_values('state', ascending=False)
print(df_s)
#       name  age state  point
# 3     Dave   68    TX     70
# 0    Alice   24    NY     64
# 5    Frank   30    NY     57
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70
# 4    Ellen   24    CA     88

多列排序

如果將第一個參數(shù)指定為列表,則可以按多列排序。

從列表的后面開始順序排序的圖像。最后,它按列表中的第一列排序。

df_s = df.sort_values(['state', 'age'])
print(df_s)
# ? ? ? name ?age state ?point
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 5 ? ?Frank ? 30 ? ?NY ? ? 57
# 3 ? ? Dave ? 68 ? ?TX ? ? 70

df_s = df.sort_values(['age', 'state'])
print(df_s)
# ? ? ? name ?age state ?point
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 5 ? ?Frank ? 30 ? ?NY ? ? 57
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 3 ? ? Dave ? 68 ? ?TX ? ? 70

如果將升序參數(shù)指定為列表,則可以為每列選擇升序或降序。

df_s = df.sort_values(['age', 'state'], ascending=[True, False])
print(df_s)
#       name  age state  point
# 2  Charlie   18    CA     70
# 0    Alice   24    NY     64
# 4    Ellen   24    CA     88
# 5    Frank   30    NY     57
# 1      Bob   42    CA     92
# 3     Dave   68    TX     70

缺失值NaN的處理(參數(shù)na_position)

如果缺少值NaN,則默認情況下將對其排序。

df_nan = df.copy()
df_nan.iloc[:2, 1] = pd.np.nan
print(df_nan)
# ? ? ? name ? age state ?point
# 0 ? ?Alice ? NaN ? ?NY ? ? 64
# 1 ? ? ?Bob ? NaN ? ?CA ? ? 92
# 2 ?Charlie ?18.0 ? ?CA ? ? 70
# 3 ? ? Dave ?68.0 ? ?TX ? ? 70
# 4 ? ?Ellen ?24.0 ? ?CA ? ? 88
# 5 ? ?Frank ?30.0 ? ?NY ? ? 57

df_nan_s = df_nan.sort_values('age')
print(df_nan_s)
# ? ? ? name ? age state ?point
# 2 ?Charlie ?18.0 ? ?CA ? ? 70
# 4 ? ?Ellen ?24.0 ? ?CA ? ? 88
# 5 ? ?Frank ?30.0 ? ?NY ? ? 57
# 3 ? ? Dave ?68.0 ? ?TX ? ? 70
# 0 ? ?Alice ? NaN ? ?NY ? ? 64
# 1 ? ? ?Bob ? NaN ? ?CA ? ? 92

如果參數(shù)na_position =‘first’,它將被安排在開頭。

df_nan_s = df_nan.sort_values('age', na_position='first')
print(df_nan_s)
#       name   age state  point
# 0    Alice   NaN    NY     64
# 1      Bob   NaN    CA     92
# 2  Charlie  18.0    CA     70
# 4    Ellen  24.0    CA     88
# 5    Frank  30.0    NY     57
# 3     Dave  68.0    TX     70

要刪除缺少的值或?qū)⑵涮鎿Q為另一個值,請參閱以下文章。

Pandas刪除,替換并提取其中的缺失值NaN(dropna,fillna,isnull)

更改原始對象(參數(shù)inplace)

默認情況下,將返回一個新的排序?qū)ο?,但是如果inplace參數(shù)為True,則原始對象本身將被更改。

df.sort_values('state', inplace=True)
print(df)
#       name  age state  point
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70
# 4    Ellen   24    CA     88
# 0    Alice   24    NY     64
# 5    Frank   30    NY     57
# 3     Dave   68    TX     70

按行方向排序(參數(shù)axis)

與前面的示例一樣,默認排序為列(垂直)。

如果要按行方向排序,請將參數(shù)軸設置為1。其他參數(shù)與前面的示例相同。

由于如果數(shù)值和字符串混合使用會發(fā)生錯誤,因此在此處刪除字符串列,僅顯示數(shù)值列。有關drop()方法,請參見以下文章。

Pandas.DataFrame刪除指定行和列(drop

df_d = df.drop(['name', 'state'], axis=1)
print(df_d)
# ? ?age ?point
# 1 ? 42 ? ? 92
# 2 ? 18 ? ? 70
# 4 ? 24 ? ? 88
# 0 ? 24 ? ? 64
# 5 ? 30 ? ? 57
# 3 ? 68 ? ? 70

df_d .sort_values(by=1, axis=1, ascending=False, inplace=True)
print(df_d)
# ? ?point ?age
# 1 ? ? 92 ? 42
# 2 ? ? 70 ? 18
# 4 ? ? 88 ? 24
# 0 ? ? 64 ? 24
# 5 ? ? 57 ? 30
# 3 ? ? 70 ? 68

按索引排序(行名/列名)sort_index()

使用sort_index()方法按索引(行名/列名)排序。

按行名索引排序

默認情況下,sort_index()根據(jù)行名在列方向(垂直方向)上排序。

print(df)
# ? ? ? name ?age state ?point
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 5 ? ?Frank ? 30 ? ?NY ? ? 57
# 3 ? ? Dave ? 68 ? ?TX ? ? 70

df_s = df.sort_index()
print(df_s)
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 3 ? ? Dave ? 68 ? ?TX ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 5 ? ?Frank ? 30 ? ?NY ? ? 57

升序,降序(參數(shù)ascending)

與sort_values()一樣,默認值為升序。如果要使用降序,請將升序參數(shù)設置為False。

df_s = df.sort_index(ascending=False)
print(df_s)
#       name  age state  point
# 5    Frank   30    NY     57
# 4    Ellen   24    CA     88
# 3     Dave   68    TX     70
# 2  Charlie   18    CA     70
# 1      Bob   42    CA     92
# 0    Alice   24    NY     64

更改原始對象(參數(shù)inplace)

與sort_values()一樣,可以指定參數(shù)inplace。如果為True,則更改原始對象。

df.sort_index(inplace=True)
print(df)
#       name  age state  point
# 0    Alice   24    NY     64
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70
# 3     Dave   68    TX     70
# 4    Ellen   24    CA     88
# 5    Frank   30    NY     57

按列名列排序(參數(shù)axis)

與sort_values()類似,如果設置了參數(shù)axis = 1,則根據(jù)列名在行方向(水平方向)上進行排序??梢韵袂懊娴氖纠粯邮褂闷渌麉?shù)。

df_s = df.sort_index(axis=1)
print(df_s)
# ? ?age ? ? name ?point state
# 0 ? 24 ? ?Alice ? ? 64 ? ?NY
# 1 ? 42 ? ? ?Bob ? ? 92 ? ?CA
# 2 ? 18 ?Charlie ? ? 70 ? ?CA
# 3 ? 68 ? ? Dave ? ? 70 ? ?TX
# 4 ? 24 ? ?Ellen ? ? 88 ? ?CA
# 5 ? 30 ? ?Frank ? ? 57 ? ?NY

df.sort_index(axis=1, ascending=False, inplace=True)
print(df)
# ? state ?point ? ? name ?age
# 0 ? ?NY ? ? 64 ? ?Alice ? 24
# 1 ? ?CA ? ? 92 ? ? ?Bob ? 42
# 2 ? ?CA ? ? 70 ?Charlie ? 18
# 3 ? ?TX ? ? 70 ? ? Dave ? 68
# 4 ? ?CA ? ? 88 ? ?Ellen ? 24
# 5 ? ?NY ? ? 57 ? ?Frank ? 30

到此這篇關于pandas.DataFrame Series排序的使用(sort_values,sort_index)的文章就介紹到這了,更多相關pandas DataFrame Series排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python如何使用Gitlab API實現(xiàn)批量的合并分支

    Python如何使用Gitlab API實現(xiàn)批量的合并分支

    這篇文章主要介紹了Python如何使用Gitlab API實現(xiàn)批量的合并分支,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • PyCharm配置第三方鏡像源的解決方法

    PyCharm配置第三方鏡像源的解決方法

    在pycharm中配置第三方鏡像后,秩序搜索需要的第三方庫,就可以使用第三方鏡像下載,速度不是一般的快,這篇文章主要介紹了PyCharm配置第三方鏡像源,需要的朋友可以參考下
    2024-01-01
  • Python3通過Luhn算法快速驗證信用卡卡號的方法

    Python3通過Luhn算法快速驗證信用卡卡號的方法

    這篇文章主要介紹了Python3通過Luhn算法快速驗證信用卡卡號的方法,涉及Python中Luhn算法的使用技巧,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • 使用Python的判斷語句模擬三目運算

    使用Python的判斷語句模擬三目運算

    這篇文章主要介紹了使用Python的判斷語句模擬三目運算,Python中沒有類似C語言那樣的三目運算符,不過可以進行簡單地模擬實現(xiàn),需要的朋友可以參考下
    2015-04-04
  • Pytorch實現(xiàn)的手寫數(shù)字mnist識別功能完整示例

    Pytorch實現(xiàn)的手寫數(shù)字mnist識別功能完整示例

    這篇文章主要介紹了Pytorch實現(xiàn)的手寫數(shù)字mnist識別功能,結(jié)合完整實例形式分析了Pytorch模塊手寫字識別具體步驟與相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • python實現(xiàn)輸入的數(shù)據(jù)在地圖上生成熱力圖效果

    python實現(xiàn)輸入的數(shù)據(jù)在地圖上生成熱力圖效果

    今天小編就為大家分享一篇python實現(xiàn)輸入的數(shù)據(jù)在地圖上生成熱力圖效果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 將自己的Python包發(fā)布到PyPI上的教程詳解

    將自己的Python包發(fā)布到PyPI上的教程詳解

    在Python中我們經(jīng)常使用pip來安裝第三方Python軟件包,其實我們每個人都可以免費地將自己寫的Python包發(fā)布到PyPI上,本文小編就來教教大家如何將自己的Python包發(fā)布到PyPI上吧
    2023-09-09
  • 淺談Python之Django

    淺談Python之Django

    這篇文章主要介紹了Python3中的Django,小編覺得這篇文章寫的還不錯,需要的朋友們下面隨著小編來一起學習學習吧,希望能夠給你帶來幫助
    2021-10-10
  • python3 實現(xiàn)口罩抽簽的功能

    python3 實現(xiàn)口罩抽簽的功能

    這篇文章主要介紹了python3 實現(xiàn) 口罩抽簽的功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Django用戶認證系統(tǒng) 組與權(quán)限解析

    Django用戶認證系統(tǒng) 組與權(quán)限解析

    這篇文章主要介紹了Django用戶認證系統(tǒng) 組與權(quán)限解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論

衡山县| 安庆市| 龙陵县| 沿河| 东平县| 九寨沟县| 大悟县| 全椒县| 如东县| 洪江市| 海原县| 榆树市| 淅川县| 清涧县| 淮滨县| 乡宁县| 和静县| 车致| 临朐县| 岢岚县| 泌阳县| 邹平县| 大足县| 福州市| 韶关市| 宁蒗| 佛山市| 阳谷县| 新沂市| 遵义县| 阜南县| 和龙市| 黎城县| 洛阳市| 武清区| 乌海市| 双柏县| 舞阳县| 兴和县| 独山县| 泰来县|