網站首頁 編程語言 正文
在布爾索引中,我們將根據 DataFrame 中數據的實際值而不是它們的行/列標簽或整數位置來選擇數據子集。在布爾索引中,我們使用布爾向量來過濾數據。
布爾索引是一種使用 DataFrame 中數據的實際值的索引。在布爾索引中,我們可以通過四種方式過濾數據:
- 使用布爾索引訪問 DataFrame
- 將布爾掩碼應用于數據幀
- 根據列值屏蔽數據
- 根據索引值屏蔽數據
使用布爾索引訪問 DataFrame
為了訪問具有布爾索引的數據幀,我們必須創建一個數據幀,其中數據幀的索引包含一個布爾值,即“真”或“假”。
例子
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
df = pd.DataFrame(dict, index = [True, False, True, False])
print(df)
輸出:?
現在我們已經創建了一個帶有布爾索引的數據框,之后用戶可以在布爾索引的幫助下訪問數據框。用戶可以使用 .loc[]、.iloc[]、.ix[] 三個函數訪問數據幀?
使用.loc[]訪問具有布爾索引的數據框
為了使用 .loc[] 訪問具有布爾索引的數據幀,我們只需在 .loc[] 函數中傳遞一個布爾值(True 或 False)。
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# 使用布爾索引創建數據框
df = pd.DataFrame(dict, index = [True, False, True, False])
# 使用 .loc[] 函數訪問數據框
print(df.loc[True])
輸出:?
使用.iloc[]訪問具有布爾索引的數據框
為了使用 .iloc[] 訪問數據幀,我們必須傳遞一個布爾值(True 或 False),但 iloc[] 函數只接受整數作為參數,因此它會拋出錯誤,因此我們只能在我們訪問數據幀時訪問在 iloc[] 函數中傳遞一個整數?
代碼#1:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# 使用布爾索引創建數據框
df = pd.DataFrame(dict, index = [True, False, True, False])
# 使用 .iloc[] 函數訪問數據幀
print(df.iloc[True])
輸出:
TypeError
代碼#2:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# 使用布爾索引創建數據框
df = pd.DataFrame(dict, index = [True, False, True, False])
# 使用 .iloc[] 函數訪問數據幀
print(df.iloc[1])
輸出:
使用.ix[]訪問具有布爾索引的數據框
為了使用 .ix[] 訪問數據幀,我們必須將布爾值(True 或 False)和整數值傳遞給 .ix[] 函數,因為我們知道 .ix[] 函數是 .loc[] 的混合體和 .iloc[] 函數。?
代碼#1:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# 使用布爾索引創建數據框
df = pd.DataFrame(dict, index = [True, False, True, False])
# 使用 .ix[] 函數訪問數據幀
print(df.ix[True])
輸出:?
代碼#2:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# 使用布爾索引創建數據框
df = pd.DataFrame(dict, index = [True, False, True, False])
# 使用 .ix[] 函數訪問數據幀
print(df.ix[1])
輸出:?
將布爾掩碼應用于數據框
在數據框中,我們可以應用布爾掩碼。為此,我們可以使用 getitems 或 [] 訪問器。我們可以通過給出與數據幀中包含的長度相同的 True 和 False 列表來應用布爾掩碼。當我們應用布爾掩碼時,它將僅打印我們傳遞布爾值 True 的數據幀。
代碼#1:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
df = pd.DataFrame(dict, index = [0, 1, 2, 3])
print(df[[True, False, True, False]])
輸出:?
代碼#2:?
# importing pandas package
import pandas as pd
# 從csv文件制作數據框
data = pd.read_csv("nba1.1.csv")
df = pd.DataFrame(data, index = [0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12])
print(df[[True, False, True, False, True,
False, True, False, True, False,
True, False, True]])
輸出:?
根據列值屏蔽數據
在數據框中,我們可以根據列值過濾數據。為了過濾數據,我們可以使用不同的運算符對數據框應用某些條件,例如 ==、>、<、<=、>=。當我們將這些運算符應用于數據幀時,它會產生一系列真假。
代碼#1:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["BCA", "BCA", "M.Tech", "BCA"],
'score':[90, 40, 80, 98]}
# 創建數據框
df = pd.DataFrame(dict)
# 使用比較運算符過濾數據
print(df['degree'] == 'BCA')
輸出:?
代碼#2:
# importing pandas package
import pandas as pd
# 從csv文件制作數據框
data = pd.read_csv("nba.csv", index_col ="Name")
# 使用大于運算符過濾數據
print(data['Age'] > 25)
輸出:?
根據索引值屏蔽數據:?
在數據框中,我們可以根據列值過濾數據。為了過濾數據,我們可以使用 ==、>、< 等不同的運算符根據索引值創建掩碼。
代碼#1:
# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["BCA", "BCA", "M.Tech", "BCA"],
'score':[90, 40, 80, 98]}
df = pd.DataFrame(dict, index = [0, 1, 2, 3])
mask = df.index == 0
print(df[mask])
輸出:
代碼#2:
# importing pandas package
import pandas as pd
# 從csv文件制作數據框
data = pd.read_csv("nba1.1.csv")
# 為數據框提供索引
df = pd.DataFrame(data, index = [0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12])
# 根據索引值過濾數據
mask = df.index > 7
print(df[mask])
輸出:?
原文鏈接:https://juejin.cn/post/7137885620919074852
相關推薦
- 2022-04-19 IDEA 快捷生成注釋 配置(完美不報警告)
- 2022-10-18 C/C++函數指針深入探究_C 語言
- 2022-08-24 k8s部署redis哨兵的實現_Redis
- 2023-10-11 在MyBatisPlus中添加分頁插件
- 2022-10-29 RHCSA 文件編輯 nano vi vim
- 2022-07-21 python實現利用stack對輸入的式子進行計算算法
- 2023-02-10 C/C++?extern關鍵字用法示例全面解析_C 語言
- 2022-03-26 C++鏈表節點的添加和刪除介紹_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支