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

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

 更新時間:2023年02月22日 09:45:35   作者:餃子大人  
本文主要介紹了Pandas.DataFrame的行名和列名的修改,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

rename()

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

add_prefix(), add_suffix()

  • 列名的接頭詞和結(jié)尾詞的追加

index和columns元素的更新

  • 行名和列名全部修改

接下來,對每個方法進(jìn)行說明。

rename()

  • 多個行名和列名的修改
  • 原DataFrame的修改(參數(shù)inplace)
  • 使用lambda表達(dá)式和函數(shù)進(jìn)行批處理

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()

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

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

修改后,返回一個新的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

多個行名和列名的修改

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

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

原DataFrame的修改(參數(shù)inplace)

默認(rèn)的設(shè)置為原DataFrame不變,返回一個新的DataFrame。

當(dāng)參數(shù)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表達(dá)式和函數(shù)進(jìn)行批處理

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

比如,大小寫的轉(zhuǎn)換。

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表達(dá)式-無名函數(shù)的指定。

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()

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

在方法的參數(shù)里指定接頭詞或者結(jié)尾詞。

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)進(jìn)行修改。想要對行名進(jìn)行修改的時候,可以參照上述lambda表達(dá)式的使用方法。

index和columns元素的更新

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

可以在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

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

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

到此這篇關(guān)于Pandas.DataFrame的行名和列名的修改的文章就介紹到這了,更多相關(guān)Pandas.DataFrame行名和列名修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python shutil模塊用法實例分析

    Python shutil模塊用法實例分析

    這篇文章主要介紹了Python shutil模塊用法,結(jié)合實例形式分析了Python使用shutil模塊操作文件拷貝的相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2019-10-10
  • Django使用Profile擴(kuò)展User模塊方式

    Django使用Profile擴(kuò)展User模塊方式

    這篇文章主要介紹了Django使用Profile擴(kuò)展User模塊方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pytest基本用法簡介

    pytest基本用法簡介

    這篇文章主要介紹了pytest基本用法簡介,幫助大家更好的利用python進(jìn)行自動化測試,感興趣的朋友可以了解下
    2021-03-03
  • Python計算信息熵實例

    Python計算信息熵實例

    這篇文章主要介紹了Python計算信息熵實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python實現(xiàn)單鏈表中刪除倒數(shù)第K個節(jié)點的方法

    python實現(xiàn)單鏈表中刪除倒數(shù)第K個節(jié)點的方法

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)單鏈表中刪除倒數(shù)第K個節(jié)點的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 解析django的csrf跨站請求偽造

    解析django的csrf跨站請求偽造

    本文主要介紹了解析django的csrf跨站請求偽造,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • pow在python中的含義及用法

    pow在python中的含義及用法

    在本篇文章里小編給各位分享了關(guān)于pow在python中是什么意思的相關(guān)知識點內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。
    2019-07-07
  • python動態(tài)視頻下載器的實現(xiàn)方法

    python動態(tài)視頻下載器的實現(xiàn)方法

    這里向大家分享一下python爬蟲的一些應(yīng)用,主要是用爬蟲配合簡單的GUI界面實現(xiàn)視頻,音樂和小說的下載器。今天就先介紹如何實現(xiàn)一個動態(tài)視頻下載器,需要的朋友可以參考下
    2019-09-09
  • python的time模塊和datetime模塊實例解析

    python的time模塊和datetime模塊實例解析

    這篇文章主要介紹了python的time模塊和datetime模塊實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    這篇文章主要介紹了python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫),了解膨脹/腐蝕這兩個基礎(chǔ)操作,可以通過對其進(jìn)行簡單組合來形成開/閉操作,需要的朋友可以參考下
    2021-08-08

最新評論