Python的Pandas庫中使用DataFrame篩選和刪除含特定值的行與列
一、基礎知識回顧
在開始之前,讓我們先回顧一下Pandas DataFrame的基礎知識。DataFrame是Pandas中的一個核心數(shù)據(jù)結構,它可以看作是一個表格,擁有行和列,可以存儲不同類型的數(shù)據(jù)。示例如下:
import pandas as pd # 創(chuàng)建一個簡單的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中,我們可以使用布爾索引來篩選含有特定值的行。布爾索引就是根據(jù)每個元素是否滿足某個條件(返回True或False)來篩選數(shù)據(jù)。
# 篩選年齡大于30的行 df_filtered = df[df['Age'] > 30] print(df_filtered)
上面的代碼會篩選出年齡大于30的行,并返回一個新的DataFrame:
Name Age City
2 Charlie 35 Chicago
3 David 40 Houston
三、刪除含有特定值的行
如果我們想從原始DataFrame中刪除滿足某個條件的行,可以使用drop
方法。
# 刪除年齡大于30的行 df_dropped = df.drop(df[df['Age'] > 30].index) print(df[df['Age'] > 30].index) print("*"*30) print(df_dropped)
上面的代碼會刪除年齡大于30的行,并返回一個新的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)
上面的代碼會篩選出城市為"Chicago"的列,并返回一個新的DataFrame:
0 False
1 False
2 True
3 False
Name: City, dtype: bool
******************************
Name Age City
2 Charlie 35 Chicago
五、刪除含有特定值的列
要刪除含有特定值的列,我們可以使用drop
方法,并指定columns
參數(shù)。
# 刪除城市為"Chicago"的列 df_dropped_columns = df.drop(columns=['City']) print(df_dropped_columns)
上面的代碼會刪除城市列,并返回一個新的DataFrame:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
注意:篩選和刪除操作默認返回的是一個新的DataFrame,不會改變原始的DataFrame。
六、實戰(zhàn)演練
假設我們有一個包含學生信息的DataFrame,我們要篩選出年齡大于15且城市為"New York"的學生。
import pandas as pd # 創(chuàng)建一個包含學生信息的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"的學生 filtered_students = student_df[(student_df['Age'] > 15) & (student_df['City'] == 'New York')] print("\n篩選后的DataFrame:") print(filtered_students)
上面的代碼會篩選出年齡大于15且城市為"New York"的學生,并打印出篩選后的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
七、最后
到此這篇關于Python的Pandas庫中使用DataFrame篩選和刪除含特定值的行與列的文章就介紹到這了,更多相關DataFrame篩選和刪除特定值行與列內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python?nonlocal關鍵字?與?global?關鍵字解析
這篇文章主要介紹了Python?nonlocal關鍵字?與?global?關鍵字解析,nonlocal關鍵字用來在函數(shù)或其他作用域中使用外層變量,global關鍵字用來在函數(shù)或其他局部作用域中使用全局變量,更多香瓜內容需要的小伙伴可以參考一下2022-03-03Python&Matlab實現(xiàn)灰狼優(yōu)化算法的示例代碼
灰狼優(yōu)化算法是一種群智能優(yōu)化算法,它的獨特之處在于一小部分擁有絕對話語權的灰狼帶領一群灰狼向獵物前進。本文具體介紹了灰狼優(yōu)化算法的兩種實現(xiàn)示例代碼,需要的可以參考一下2022-03-03