Pandas中DataFrame.drop()函數(shù)的具體使用
一、簡(jiǎn)介
DataFrame.drop
是 Pandas 庫(kù)中一個(gè)非常實(shí)用的函數(shù),用于刪除 DataFrame 中的行或列。通過指定列名或行索引,可以靈活地從數(shù)據(jù)集中移除不需要的數(shù)據(jù)。這對(duì)于數(shù)據(jù)清洗和預(yù)處理非常有用。
二、語(yǔ)法和參數(shù)
DataFrame.drop(labels, axis=0, index=False, columns=False, level=None, inplace=False)
參數(shù)
- labels: 要?jiǎng)h除的標(biāo)簽,可以是數(shù)組、列表、元組或單個(gè)標(biāo)簽。
- axis: 刪除的軸,0 表示行,1 表示列,默認(rèn)為 0。
- index: 如果為 True,則刪除標(biāo)簽為索引。
- columns: 如果為 True,則刪除標(biāo)簽為列。
- level: 指定刪除標(biāo)簽的級(jí)別,僅在使用多級(jí)索引時(shí)有效。
- inplace: 如果為 True,則在原地修改 DataFrame,否則返回一個(gè)新的 DataFrame。
三、實(shí)例
3.1 刪除指定行
import pandas as pd # 創(chuàng)建一個(gè)示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) # 刪除第一行 result = df.drop(0) print(result)
輸出:
A B C
1 2 6 10
2 3 7 11
3 4 8 12
3.2 刪除指定列
# 刪除列 'B' result = df.drop('B', axis=1) print(result)
輸出:
A C
0 1 9
1 2 10
2 3 11
3 4 12
3.3 刪除多個(gè)行和列
import pandas as pd # 創(chuàng)建一個(gè)示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) # 刪除列 'B' result = df.drop(columns='B', axis=1) print(result)
輸出:
A B
0 1 5
2 3 7
3 4 8
3.4 使用 inplace 修改原 DataFrame
import pandas as pd # 創(chuàng)建一個(gè)示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) print(df) # 刪除列 'A' 并直接修改原 DataFrame df.drop('A', axis=1, inplace=True) print(df)
輸出:
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
B C
0 5 9
1 6 10
2 7 11
3 8 12
四、注意事項(xiàng)
- 索引和列名:確保刪除的標(biāo)簽是存在的,否則會(huì)引發(fā) KeyError。
- inplace 參數(shù):使用 inplace=True 時(shí),原 DataFrame 會(huì)被修改,不返回新的 DataFrame。
- 多級(jí)索引:在使用多級(jí)索引時(shí),level 參數(shù)可以指定刪除標(biāo)簽的級(jí)別。
- 數(shù)據(jù)類型:刪除操作不會(huì)影響 DataFrame 的數(shù)據(jù)類型。
擴(kuò)展
del與drop的區(qū)別
在Python中del和drop方法都能夠刪除dataframe中的列數(shù)據(jù),但兩者也有著些許區(qū)別:
1. del屬于Python的內(nèi)置函數(shù),drop屬于pandas中的內(nèi)置函數(shù)
2. del 刪除列
drop 刪除行和列(默認(rèn)行)
3. drop一次可以處理多個(gè)項(xiàng)目;del一次只能操作一個(gè)
4. drop可以就地操作或返回副本;del僅是就地操作
5. 兩種函數(shù)在執(zhí)行效率上很接近,但是在較大數(shù)據(jù)上,drop函數(shù)優(yōu)勢(shì)更明顯,尤其是在處理多列數(shù)據(jù)時(shí)
del crime['Total'] crime=crime.drop(['Total'],axis=1)
到此這篇關(guān)于Pandas中DataFrame.drop()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Pandas DataFrame.drop()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python實(shí)現(xiàn)IP網(wǎng)絡(luò)掃描工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)IP網(wǎng)段掃描工具,可以輕松幫助你檢查每個(gè)網(wǎng)段下的IP是否在線,感興趣的可以了解下2025-01-01淺談Python從全局與局部變量到裝飾器的相關(guān)知識(shí)
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python從全局與局部變量到裝飾器的相關(guān)知識(shí)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06淺談Python生成器generator之next和send的運(yùn)行流程(詳解)
下面小編就為大家?guī)?lái)一篇淺談Python生成器generator之next和send的運(yùn)行流程(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-05-05Python數(shù)學(xué)建模PuLP庫(kù)線性規(guī)劃進(jìn)階基于字典詳解
在大規(guī)模的規(guī)劃問題中,這樣逐個(gè)定義變量和設(shè)置模型參數(shù)非常繁瑣,效率很低。Pulp 庫(kù)提供了一種快捷方式,可以結(jié)合 Python語(yǔ)言的循環(huán)和容器,使用字典來(lái)創(chuàng)建問題2021-10-10python分析實(shí)現(xiàn)微信釘釘?shù)溶浖嚅_分身
我發(fā)現(xiàn)壇友分享的很多都是通過cmd?去start?多個(gè)微信,雖然能實(shí)現(xiàn)多開,但不夠靈活,比如我上午登錄了一個(gè)微信,下午在登錄就不太好用了,當(dāng)然也可能是我start的姿勢(shì)不對(duì)。于是我就搜了下單實(shí)例原理,自己動(dòng)手實(shí)現(xiàn)了個(gè)隨用隨開的2022-02-02Python工程師面試必備25條知識(shí)點(diǎn)
這篇文章主要為大家詳細(xì)介紹了Python工程師面試必備25條知識(shí)點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01tensorflow實(shí)現(xiàn)將ckpt轉(zhuǎn)pb文件的方法
這篇文章主要介紹了tensorflow實(shí)現(xiàn)將ckpt轉(zhuǎn)pb文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)圖像卷積運(yùn)算詳解
這篇文章主要介紹了Python深度學(xué)習(xí)關(guān)于pytorch神經(jīng)網(wǎng)絡(luò)圖像卷積的運(yùn)算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Python 類與元類的深度挖掘 II【經(jīng)驗(yàn)】
元類在 Python 中屬于比較深層的黑魔法,在一般的日常應(yīng)用中可能并不常用,但理解其背后的原理對(duì)于理解 Python 面向?qū)ο缶幊桃约耙磺薪詾閷?duì)象的理念很有幫助;如果你需要對(duì)類進(jìn)行深度改造,至少要知道從何入手。2016-05-05