中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pandas.DataFrame的行名和列名如何修改

發布時間:2023-02-22 10:32:47 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Pandas.DataFrame的行名和列名如何修改”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Pandas.DataFrame的行名和列名如何修改”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    pandas.DataFrame行名(index)和列名(columns)的修改方法如下

    rename()

    • 任意的行名(index)和列名(columns)的修改

    add_prefix(), add_suffix()

    • 列名的接頭詞和結尾詞的追加

    index和columns元素的更新

    • 行名和列名全部修改

    接下來,對每個方法進行說明。

    rename()

    • 多個行名和列名的修改

    • 原DataFrame的修改(參數inplace)

    • 使用lambda表達式和函數進行批處理

    add_prefix(), add_suffix()

    index和columns元素的更新

    首先,先生成一個DaraFrame。

    import pandas as pd
    
    df = pd.DataFrame({'A': [11, 21, 31],
                       'B': [12, 22, 32],
                       'C': [13, 23, 33]},
                      index=['ONE', 'TWO', 'THREE'])
    
    print(df)
    #         A   B   C
    # ONE    11  12  13
    # TWO    21  22  23
    # THREE  31  32  33

    DataFrame.rename()

    函數DataFrame.rename()可以對任意行和列的名稱進行修改。
    DataFrame.rename()的參數有index和columns,使用"{舊值:新值}"字典的形式進行參數的指定。

    index為行,columns為列。只想修改某行或者某列的時候,只需要單獨指定一個參數即可。

    修改后,返回一個新的DataFrame,原DataFrame并沒有被修改。

    df_new = df.rename(columns={'A': 'a'}, index={'ONE': 'one'})
    print(df_new)
    #         a   B   C
    # one    11  12  13
    # TWO    21  22  23
    # THREE  31  32  33
    
    print(df)
    #         A   B   C
    # ONE    11  12  13
    # TWO    21  22  23
    # THREE  31  32  33

    多個行名和列名的修改

    多個行名和列名可以同時修改。只需要追加參數(字典的元素)。

    print(df.rename(columns={'A': 'a', 'C': 'c'}))
    #         a   B   c
    # ONE    11  12  13
    # TWO    21  22  23
    # THREE  31  32  33

    原DataFrame的修改(參數inplace)

    默認的設置為原DataFrame不變,返回一個新的DataFrame。

    當參數inplace為True時,原DataFrame將會被修改。返回值為None。

    df_org = df.copy()
    df_org.rename(columns={'A': 'a'}, index={'ONE': 'one'}, inplace=True)
    print(df_org)
    #         a   B   C
    # one    11  12  13
    # TWO    21  22  23
    # THREE  31  32  33

    使用lambda表達式和函數進行批處理

    rename()的參數index和columns值也可以指定為函數方法。

    比如,大小寫的轉換。

    print(df.rename(columns=str.lower, index=str.title))
    #         a   b   c
    # One    11  12  13
    # Two    21  22  23
    # Three  31  32  33

    lambda表達式-無名函數的指定。

    print(df.rename(columns=lambda s: s*3, index=lambda s: s + '!!'))
    #          AAA  BBB  CCC
    # ONE!!     11   12   13
    # TWO!!     21   22   23
    # THREE!!   31   32   33

    add_prefix(), add_suffix()

    列名的接頭詞和結尾詞的追加方法。add_prefix()和add_suffix()。

    在方法的參數里指定接頭詞或者結尾詞。

    print(df.add_prefix('X_'))
    #        X_A  X_B  X_C
    # ONE     11   12   13
    # TWO     21   22   23
    # THREE   31   32   33
    
    print(df.add_suffix('_X'))
    #        A_X  B_X  C_X
    # ONE     11   12   13
    # TWO     21   22   23
    # THREE   31   32   33

    add_prefix()和add_suffix()只能對列名(columns)進行修改。想要對行名進行修改的時候,可以參照上述lambda表達式的使用方法。

    index和columns元素的更新

    當想要對DataFrame里全部的元素修改或更新的時候,可以使用rename()方法的參數index,columns進行指定。

    可以在index,columns屬性中指定List,tuple,pandas.Series等。

    df.index = [1, 2, 3]
    df.columns = ['a', 'b', 'c']
    
    print(df)
    #     a   b   c
    # 1  11  12  13
    # 2  21  22  23
    # 3  31  32  33

    此時,請注意,如果列表等的大小(元素數)與行數/列數不一致時,則會發生錯誤。

    # df.index = [1, 2, 3, 4]
    # ValueError: Length mismatch: Expected axis has 3 elements, new values have 4 elements

    讀到這里,這篇“Pandas.DataFrame的行名和列名如何修改”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    武夷山市| 五原县| 巴林右旗| 石门县| 漠河县| 奉贤区| 于都县| 岱山县| 乌恰县| 乌鲁木齐县| 榆林市| 常德市| 苏尼特左旗| 遵义县| 灌南县| 梧州市| 陈巴尔虎旗| 白沙| 宜丰县| 上思县| 湾仔区| 济阳县| 阳春市| 怀安县| 延边| 富蕴县| 嘉义市| 河东区| 山丹县| 措美县| 贵州省| 南雄市| 漯河市| 崇文区| 金沙县| 莱阳市| 邢台市| 广宁县| 通化市| 柳江县| 博湖县|