您好,登錄后才能下訂單哦!
這篇文章主要介紹“Pandas.DataFrame重置Series的索引index”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Pandas.DataFrame重置Series的索引index”文章能幫助大家解決問題。
如果使用reset_index()方法,則可以將pandas.DataFrame,pandas.Series的索引索引(行名稱,行標簽)重新分配為從0開始的序列號(行號)。
如果將行號用作索引,則通過排序更改行的順序或刪除行并得到缺少的號碼時,重新索引會更容易。
當行名(行標簽)用作索引時,它也可用于刪除當前索引或恢復數據列。您可以使用set_index()和reset_index()將索引更改(重置)到另一列。
將描述以下內容。
使用reset_index()將索引重新分配給序列號
基本用法
刪除原始索引:參數drop
更改原始對象:參數inplace
使用reset_index()和set_index()將索引更改為另一列(重置)
以下面的數據為例。
import pandas as pd df = pd.read_csv('./data/21/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也具有reset_index()。兩個參數的用法相同。
使用sort_values()對行進行排序以進行說明。有關排序的詳細信息,請參見以下文章。
pandas.DataFrame,Series排序(sort_values,sort_index)
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
由于索引已經分散,因此將它們重新分配給從0開始的連續數字。
如果在不指定任何參數的情況下使用reset_index(),則序列號將成為新索引,而原始索引將保留為新列。
df_r = df.reset_index() print(df_r) # index name age state point # 0 1 Bob 42 CA 92 # 1 2 Charlie 18 CA 70 # 2 4 Ellen 24 CA 88 # 3 0 Alice 24 NY 64 # 4 5 Frank 30 NY 57 # 5 3 Dave 68 TX 70
如果參數drop為True,則原始索引將被刪除并且不會保留。
df_r = df.reset_index(drop=True) print(df_r) # name age state point # 0 Bob 42 CA 92 # 1 Charlie 18 CA 70 # 2 Ellen 24 CA 88 # 3 Alice 24 NY 64 # 4 Frank 30 NY 57 # 5 Dave 68 TX 70
默認情況下,原始對象不會更改,并且會返回一個新對象,但是如果inplace參數為True,則會更改原始對象。
df.reset_index(inplace=True, drop=True) print(df) # name age state point # 0 Bob 42 CA 92 # 1 Charlie 18 CA 70 # 2 Ellen 24 CA 88 # 3 Alice 24 NY 64 # 4 Frank 30 NY 57 # 5 Dave 68 TX 70
如果將行名設置為索引而不是數字。
df = pd.read_csv('./data/21/sample_pandas_normal.csv', index_col=0) print(df) # age state point # name # Alice 24 NY 64 # Bob 42 CA 92 # Charlie 18 CA 70 # Dave 68 TX 70 # Ellen 24 CA 88 # Frank 30 NY 57
如果使用reset_index()方法,則將序列號設置為索引,并將原始索引添加到data列。
df_r = df.reset_index() print(df_r) # 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
如果將set_index()照原樣應用于原始DataFrame,則會刪除原始索引。
df_s = df.set_index('state') print(df_s) # age point # state # NY 24 64 # CA 42 92 # CA 18 70 # TX 68 70 # CA 24 88 # NY 30 57
如果要將原始索引保留為數據字符串,則可以在reset_index()之后使用set_index()。
df_rs = df.reset_index().set_index('state') print(df_rs) # name age point # state # NY Alice 24 64 # CA Bob 42 92 # CA Charlie 18 70 # TX Dave 68 70 # CA Ellen 24 88 # NY Frank 30 57
注意,為方便起見,在此示例中將具有重疊值的列設置為索引,但是如果索引值不重疊(每個值都是唯一的),則更容易選擇數據。
關于“Pandas.DataFrame重置Series的索引index”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。