Python的Pandas庫(kù)中使用DataFrame篩選和刪除含特定值的行與列
一、基礎(chǔ)知識(shí)回顧
在開(kāi)始之前,讓我們先回顧一下Pandas DataFrame的基礎(chǔ)知識(shí)。DataFrame是Pandas中的一個(gè)核心數(shù)據(jù)結(jié)構(gòu),它可以看作是一個(gè)表格,擁有行和列,可以存儲(chǔ)不同類(lèi)型的數(shù)據(jù)。示例如下:
import pandas as pd # 創(chuàng)建一個(gè)簡(jiǎn)單的DataFrame data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 35, 40], 'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'] } df = pd.DataFrame(data) print(df)
輸出:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
3 David 40 Houston
二、篩選含有特定值的行
在Pandas中,我們可以使用布爾索引來(lái)篩選含有特定值的行。布爾索引就是根據(jù)每個(gè)元素是否滿(mǎn)足某個(gè)條件(返回True或False)來(lái)篩選數(shù)據(jù)。
# 篩選年齡大于30的行 df_filtered = df[df['Age'] > 30] print(df_filtered)
上面的代碼會(huì)篩選出年齡大于30的行,并返回一個(gè)新的DataFrame:
Name Age City
2 Charlie 35 Chicago
3 David 40 Houston
三、刪除含有特定值的行
如果我們想從原始DataFrame中刪除滿(mǎn)足某個(gè)條件的行,可以使用drop
方法。
# 刪除年齡大于30的行 df_dropped = df.drop(df[df['Age'] > 30].index) print(df[df['Age'] > 30].index) print("*"*30) print(df_dropped)
上面的代碼會(huì)刪除年齡大于30的行,并返回一個(gè)新的DataFrame:
Index([2, 3], dtype='int64')
******************************
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
四、篩選含有特定值的列
同樣地,我們也可以篩選含有特定值的列。
# 篩選城市為"Chicago"的列 df_filtered_columns = df[df['City'] == 'Chicago'] print(df['City'] == 'Chicago') print("*"*30) print(df_filtered_columns)
上面的代碼會(huì)篩選出城市為"Chicago"的列,并返回一個(gè)新的DataFrame:
0 False
1 False
2 True
3 False
Name: City, dtype: bool
******************************
Name Age City
2 Charlie 35 Chicago
五、刪除含有特定值的列
要?jiǎng)h除含有特定值的列,我們可以使用drop
方法,并指定columns
參數(shù)。
# 刪除城市為"Chicago"的列 df_dropped_columns = df.drop(columns=['City']) print(df_dropped_columns)
上面的代碼會(huì)刪除城市列,并返回一個(gè)新的DataFrame:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
注意:篩選和刪除操作默認(rèn)返回的是一個(gè)新的DataFrame,不會(huì)改變?cè)嫉腄ataFrame。
六、實(shí)戰(zhàn)演練
假設(shè)我們有一個(gè)包含學(xué)生信息的DataFrame,我們要篩選出年齡大于15且城市為"New York"的學(xué)生。
import pandas as pd # 創(chuàng)建一個(gè)包含學(xué)生信息的DataFrame student_data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank'], 'Age': [22, 25, 18, 28, 21, 27], 'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'New York', 'San Francisco'] } student_df = pd.DataFrame(student_data) print("原始DataFrame:") print(student_df) # 篩選年齡大于1且5城市為"New York"的學(xué)生 filtered_students = student_df[(student_df['Age'] > 15) & (student_df['City'] == 'New York')] print("\n篩選后的DataFrame:") print(filtered_students)
上面的代碼會(huì)篩選出年齡大于15且城市為"New York"的學(xué)生,并打印出篩選后的DataFrame:
原始DataFrame:
Name Age City
0 Alice 22 New York
1 Bob 25 Los Angeles
2 Charlie 18 Chicago
3 David 28 Houston
4 Eve 21 New York
5 Frank 27 San Francisco篩選后的DataFrame:
Name Age City
0 Alice 22 New York
4 Eve 21 New York
七、最后
到此這篇關(guān)于Python的Pandas庫(kù)中使用DataFrame篩選和刪除含特定值的行與列的文章就介紹到這了,更多相關(guān)DataFrame篩選和刪除特定值行與列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python將CSV文件轉(zhuǎn)化為HTML文件的操作方法
很多朋友問(wèn)小編Python如何將CSV文件轉(zhuǎn)化為HTML文件,csv文件讀取怎么操作呢?帶著這些問(wèn)題一起通過(guò)本文學(xué)習(xí)吧2021-06-06Python?nonlocal關(guān)鍵字?與?global?關(guān)鍵字解析
這篇文章主要介紹了Python?nonlocal關(guān)鍵字?與?global?關(guān)鍵字解析,nonlocal關(guān)鍵字用來(lái)在函數(shù)或其他作用域中使用外層變量,global關(guān)鍵字用來(lái)在函數(shù)或其他局部作用域中使用全局變量,更多香瓜內(nèi)容需要的小伙伴可以參考一下2022-03-03python 編寫(xiě)簡(jiǎn)單網(wǎng)頁(yè)服務(wù)器的實(shí)例
今天小編就為大家分享一篇python 編寫(xiě)簡(jiǎn)單網(wǎng)頁(yè)服務(wù)器的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06淺談python為什么不需要三目運(yùn)算符和switch
下面小編就為大家?guī)?lái)一篇淺談python為什么不需要三目運(yùn)算符和switch。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06PyCharm無(wú)法引用自身項(xiàng)目解決方式
今天小編就為大家分享一篇PyCharm無(wú)法引用自身項(xiàng)目解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫(kù)glog的使用
這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫(kù)glog的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python列表list操作相關(guān)知識(shí)小結(jié)
今天,本喵帶大家仔細(xì)溫習(xí)一下Python的列表,溫故而知新,不亦說(shuō)乎,需要的朋友可以參考下2020-01-01Python&Matlab實(shí)現(xiàn)灰狼優(yōu)化算法的示例代碼
灰狼優(yōu)化算法是一種群智能優(yōu)化算法,它的獨(dú)特之處在于一小部分擁有絕對(duì)話語(yǔ)權(quán)的灰狼帶領(lǐng)一群灰狼向獵物前進(jìn)。本文具體介紹了灰狼優(yōu)化算法的兩種實(shí)現(xiàn)示例代碼,需要的可以參考一下2022-03-03Python 中將二進(jìn)制轉(zhuǎn)換為整數(shù)的多種方法
這篇文章主要介紹了Python 中將二進(jìn)制轉(zhuǎn)換為整數(shù),Python 中提供了多種方式將二進(jìn)制字符串轉(zhuǎn)換為整數(shù),其中包括使用 int() 函數(shù)、使用二進(jìn)制前綴和使用 eval() 函數(shù),本文通過(guò)實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下2023-05-05