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

Pandas.DataFrame刪除指定行和列(drop)的實現(xiàn)

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

使用drop()方法刪除pandas.DataFrame的行和列。

在0.21.0版之前,請使用參數(shù)labels和axis指定行和列。從0.21.0開始,可以使用index或columns。

在此,將對以下內(nèi)容進行說明。

  • DataFrame指定的行刪除
    • 按行名指定(行標(biāo)簽)
    • 按行號指定
    • 未設(shè)置行名的注意事項
  • DataFrame指定的列刪除
    • 按列名指定(列標(biāo)簽)
    • 按列號指定
  • 多行多列的刪除

刪除缺失值NaN和刪除具有重復(fù)元素的行,請參考文章。

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

以下數(shù)據(jù)用作示例代碼中的示例。

import pandas as pd

df = pd.read_csv('./data/12/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

DataFrame指定的行刪除

按行名指定(行標(biāo)簽)

它由第一個參數(shù)labels和第二個參數(shù)axis指定。行指定axis= 0。

print(df.drop('Charlie', axis=0))
#        age state  point
# name                   
# Alice   24    NY     64
# Bob     42    CA     92
# Dave    68    TX     70
# Ellen   24    CA     88
# Frank   30    NY     57

默認(rèn)值為axis = 0,因此可以省略axis。

print(df.drop('Charlie'))
#        age state  point
# name                   
# Alice   24    NY     64
# Bob     42    CA     92
# Dave    68    TX     70
# Ellen   24    CA     88
# Frank   30    NY     57

從0.21.0或更高版本開始,它也可以由參數(shù)索引指定。

print(df.drop(index='Charlie'))
#        age state  point
# name                   
# Alice   24    NY     64
# Bob     42    CA     92
# Dave    68    TX     70
# Ellen   24    CA     88
# Frank   30    NY     57

如果要一次刪除多行,請在列表中指定。

print(df.drop(['Bob', 'Dave', 'Frank']))
# ? ? ? ? ?age state ?point
# name ? ? ? ? ? ? ? ? ? ??
# Alice ? ? 24 ? ?NY ? ? 64
# Charlie ? 18 ? ?CA ? ? 70
# Ellen ? ? 24 ? ?CA ? ? 88

print(df.drop(index=['Bob', 'Dave', 'Frank']))
# ? ? ? ? ?age state ?point
# name ? ? ? ? ? ? ? ? ? ??
# Alice ? ? 24 ? ?NY ? ? 64
# Charlie ? 18 ? ?CA ? ? 70
# Ellen ? ? 24 ? ?CA ? ? 88

默認(rèn)情況下,原始DataFrame保持不變,并返回一個新的DataFrame。如果參數(shù)inplace設(shè)置為True,則將更改原始DataFrame。在這種情況下,不會返回任何新的DataFrame,并且返回值為None。

按行號指定

如果要按行號指定,請使用DataFrame的index屬性。

如果在index屬性的[]中指定行號,則可以獲得相應(yīng)的行名??梢栽诹斜碇兄付ǘ鄠€行號。

print(df.index[[1, 3, 5]])
# Index(['Bob', 'Dave', 'Frank'], dtype='object', name='name')

在drop()第一個的參數(shù)中指定labels或index的名稱。

print(df.drop(df.index[[1, 3, 5]]))
# ? ? ? ? ?age state ?point
# name ? ? ? ? ? ? ? ? ? ??
# Alice ? ? 24 ? ?NY ? ? 64
# Charlie ? 18 ? ?CA ? ? 70
# Ellen ? ? 24 ? ?CA ? ? 88

print(df.drop(index=df.index[[1, 3, 5]]))
# ? ? ? ? ?age state ?point
# name ? ? ? ? ? ? ? ? ? ??
# Alice ? ? 24 ? ?NY ? ? 64
# Charlie ? 18 ? ?CA ? ? 70
# Ellen ? ? 24 ? ?CA ? ? 88

未設(shè)置行名的注意事項

如果未設(shè)置行名,則index默認(rèn)為整數(shù)序號。當(dāng)使用數(shù)字值而不是這樣的字符串作為索引時要小心。

df_noindex = pd.read_csv('./data/12/sample_pandas_normal.csv')
print(df_noindex)
# ? ? ? 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

print(df_noindex.index)
# RangeIndex(start=0, stop=6, step=1)

如果是序列號,則無論原樣指定數(shù)字值還是使用index屬性,結(jié)果都將相同。

print(df_noindex.drop([1, 3, 5]))
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88

print(df_noindex.drop(df_noindex.index[[1, 3, 5]]))
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88

如果由于排序原因其不是序列號,結(jié)果將有所不同。當(dāng)直接指定數(shù)字值時,將刪除行標(biāo)簽為該數(shù)字值的行,而當(dāng)使用index屬性時,將刪除其行號為該數(shù)字值的行。

df_noindex_sort = df_noindex.sort_values('state')
print(df_noindex_sort)
# ? ? ? 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

print(df_noindex_sort.index)
# Int64Index([1, 2, 4, 0, 5, 3], dtype='int64')

print(df_noindex_sort.drop([1, 3, 5]))
# ? ? ? name ?age state ?point
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 0 ? ?Alice ? 24 ? ?NY ? ? 64

print(df_noindex_sort.drop(df_noindex_sort.index[[1, 3, 5]]))
# ? ? name ?age state ?point
# 1 ? ?Bob ? 42 ? ?CA ? ? 92
# 4 ?Ellen ? 24 ? ?CA ? ? 88
# 5 ?Frank ? 30 ? ?NY ? ? 57

DataFrame指定的列刪除

按列名指定(列標(biāo)簽)

它由第一個參數(shù)labels和第二個參數(shù)axis指定。列指定axis= 1。

print(df.drop('state', axis=1))
#          age  point
# name               
# Alice     24     64
# Bob       42     92
# Charlie   18     70
# Dave      68     70
# Ellen     24     88
# Frank     30     57

從0.21.0或更高版本開始,可以使用參數(shù)列指定它。

print(df.drop(columns='state'))
#          age  point
# name               
# Alice     24     64
# Bob       42     92
# Charlie   18     70
# Dave      68     70
# Ellen     24     88
# Frank     30     57

如果要一次刪除多個列,請在列表中指定。

print(df.drop(['state', 'point'], axis=1))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Bob ? ? ? 42
# Charlie ? 18
# Dave ? ? ?68
# Ellen ? ? 24
# Frank ? ? 30

print(df.drop(columns=['state', 'point']))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Bob ? ? ? 42
# Charlie ? 18
# Dave ? ? ?68
# Ellen ? ? 24
# Frank ? ? 30

參數(shù)inplace的使用方法與行的相同。

df_org = df.copy()
df_org.drop(columns=['state', 'point'], inplace=True)
print(df_org)
#          age
# name        
# Alice     24
# Bob       42
# Charlie   18
# Dave      68
# Ellen     24
# Frank     30

按列號指定

如果要按列號指定,請使用DataFrame的columns屬性。

print(df.columns[[1, 2]])
# Index(['state', 'point'], dtype='object')

print(df.drop(df.columns[[1, 2]], axis=1))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Bob ? ? ? 42
# Charlie ? 18
# Dave ? ? ?68
# Ellen ? ? 24
# Frank ? ? 30

print(df.drop(columns=df.columns[[1, 2]]))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Bob ? ? ? 42
# Charlie ? 18
# Dave ? ? ?68
# Ellen ? ? 24
# Frank ? ? 30

如果columns是整數(shù)值,請小心上述行。

多行多列的刪除

從0.21.0及更高版本開始,可以通過同時指定參數(shù)index和column來刪除多行/多列。

當(dāng)然,也可以通過行號/列號指定,和使用參數(shù)inplace。

print(df.drop(index=['Bob', 'Dave', 'Frank'],
? ? ? ? ? ? ? columns=['state', 'point']))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Charlie ? 18
# Ellen ? ? 24

print(df.drop(index=df.index[[1, 3, 5]],
? ? ? ? ? ? ? columns=df.columns[[1, 2]]))
# ? ? ? ? ?age
# name ? ? ? ?
# Alice ? ? 24
# Charlie ? 18
# Ellen ? ? 24

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

相關(guān)文章

  • python學(xué)生信息管理系統(tǒng)(完整版)

    python學(xué)生信息管理系統(tǒng)(完整版)

    這篇文章主要為大家詳細(xì)介紹了python學(xué)生信息管理系統(tǒng)的完整版本代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 關(guān)于Torch?torchvision?Python版本對應(yīng)關(guān)系說明

    關(guān)于Torch?torchvision?Python版本對應(yīng)關(guān)系說明

    這篇文章主要介紹了關(guān)于Torch?torchvision?Python版本對應(yīng)關(guān)系說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • spark編程python實例解讀

    spark編程python實例解讀

    這篇文章主要介紹了spark編程python實例解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式

    Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式

    Python中日期和時間的處理涉及到time和datetime模塊,time模塊可實現(xiàn)時間戳與格式化時間字符串的轉(zhuǎn)換,而datetime模塊則提供更加直接易用的接口,本文詳細(xì)給大家介紹了Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式,需要的朋友可以參考下
    2024-10-10
  • Python json序列化解讀

    Python json序列化解讀

    這篇文章主要介紹了Python json序列化解讀,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 壓縮包密碼破解示例分享(類似典破解)

    壓縮包密碼破解示例分享(類似典破解)

    有一個壓縮包密碼忘了,寫了一個小腳本實現(xiàn)一個解密的功能,輸入自己常用密碼中的單詞后,腳本將這些密碼組合嘗試解壓壓縮包
    2014-01-01
  • Python jieba 中文分詞與詞頻統(tǒng)計的操作

    Python jieba 中文分詞與詞頻統(tǒng)計的操作

    這篇文章主要介紹了Python jieba 中文分詞與詞頻統(tǒng)計的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Pandas數(shù)據(jù)分析之pandas數(shù)據(jù)透視表和交叉表

    Pandas數(shù)據(jù)分析之pandas數(shù)據(jù)透視表和交叉表

    這篇文章主要介紹了Pandas數(shù)據(jù)分析之pandas數(shù)據(jù)透視表和交叉表,pandas對數(shù)據(jù)框也可以像excel一樣進行數(shù)據(jù)透視表整合之類的操作。主要是針對分類數(shù)據(jù)進行操作,還可以計算數(shù)值型數(shù)據(jù),去滿足復(fù)雜的分類數(shù)據(jù)整理的邏輯
    2022-08-08
  • PyTorch實現(xiàn)模型剪枝的方法

    PyTorch實現(xiàn)模型剪枝的方法

    剪枝是一種優(yōu)化模型的技術(shù),可以幫助減少模型的大小和計算量,同時保持模型的準(zhǔn)確性,本文主要介紹了PyTorch實現(xiàn)模型剪枝的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • PyQt實現(xiàn)界面翻轉(zhuǎn)切換效果

    PyQt實現(xiàn)界面翻轉(zhuǎn)切換效果

    這篇文章主要為大家詳細(xì)介紹了PyQt實現(xiàn)界面翻轉(zhuǎn)切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論

石城县| 怀化市| 绍兴县| 临泽县| 益阳市| 河南省| 汨罗市| 青神县| 延津县| 东阳市| 晋宁县| 黎城县| 屏东市| 太仓市| 北流市| 高清| 麻栗坡县| 寻甸| 林西县| 广安市| 克山县| 梁河县| 聊城市| 宁津县| 中阳县| 大新县| 苏州市| 龙泉市| 榆树市| 万山特区| 常山县| 南阳市| 合作市| 临邑县| 乐山市| 双柏县| 黎平县| 库尔勒市| 广汉市| 江永县| 葵青区|