網站首頁 編程語言 正文
引言
關鍵!!!!使用loc函數來查找。
話不多說,直接演示:
有以下名為try.xlsx表:
1.根據index查詢
條件:首先導入的數據必須的有index
或者自己添加吧,方法簡單,讀取excel文件時直接加index_col
代碼示例:
import pandas as pd #導入pandas庫 excel_file = './try.xlsx' #導入excel數據 data = pd.read_excel(excel_file, index_col='姓名') #這個的index_col就是index,可以選擇任意字段作為索引index,讀入數據 print(data.loc['李四'])
打印結果就是
部門 B
工資 6600
Name: 李四, dtype: object
(注意點:索引)
2.已知數據在第幾行找到想要的數據
假如我們的表中,有某個員工的工資數據為空了,那我們怎么找到自己想要的數據呢。
代碼如下:
for i in data.columns: for j in range(len(data)): if (data[i].isnull())[j]: bumen = data.iloc[j, [0]] #找出缺失值所在的部門 data[i][j] = charuzhi(bumen)
原理很簡單,首先檢索全部的數據,然后我們可以用pandas中的iloc函數。上面的iloc[j, [2]]中j是具體的位置,【0】是你要得到的數據所在的column
3.根據條件查詢找到指定行數據
例如查找A部門所有成員的的姓名和工資或者工資低于3000的人:
代碼如下:
"""根據條件查詢某行數據""" import pandas as pd #導入pandas庫 excel_file = './try.xlsx' #導入文件 data = pd.read_excel(excel_file) #讀入數據 print(data.loc[data['部門'] == 'A', ['姓名', '工資']]) #部門為A,打印姓名和工資 print(data.loc[data['工資'] < 3000, ['姓名','工資']]) #查找工資小于3000的人
結果如下:
若要把這些數據獨立生成excel文件或者csv文件:
添加以下代碼
"""導出為excel或csv文件""" #單條件 dataframe_1 = data.loc[data['部門'] == 'A', ['姓名', '工資']] #單條件 dataframe_2 = data.loc[data['工資'] < 3000, ['姓名', '工資']] #多條件 dataframe_3 = data.loc[(data['部門'] == 'A')&(data['工資'] < 3000), ['姓名', '工資']] #導出為excel dataframe_1.to_excel('dataframe_1.xlsx') dataframe_2.to_excel('dataframe_2.xlsx')
4.找出指定列
data['columns'] #columns即你需要的字段名稱即可 #注意這列的columns不能是index的名稱 #如果要打印index的話就data.index data.columns #與上面的一樣
以上全過程用到的庫:
pandas,xlrd , openpyxl
5.找出指定的行和指定的列
主要使用的就是函數iloc
data.iloc[:,:2] #即全部行,前兩列的數據
逗號前是行,逗號后是列的范圍,很容易理解
6.在規定范圍內找出符合條件的數據
data.iloc[:10,:][data.工資>6000]
這樣即可找出前11行里工資大于6000的所有人的信息了
總結
原文鏈接:https://blog.csdn.net/weixin_45082522/article/details/106364847
相關推薦
- 2022-10-31 Python?NumPy創建數組方法_python
- 2022-11-15 ASP.NET?MVC遍歷驗證ModelState的錯誤信息_實用技巧
- 2022-05-31 Android實現文件資源管理器雛形_Android
- 2022-02-24 JDBC中在結果集中以列順序獲取值時注意類型匹配
- 2022-06-07 python中字符串String及其常見操作指南(方法、函數)_python
- 2022-11-03 PyCharm利用pydevd-pycharm實現Python遠程調試的詳細過程_python
- 2022-05-08 Python函數命名空間和作用域(Local與Global)_python
- 2022-07-28 詳解Python?Flask框架的安裝及應用_python
- 最近更新
-
- 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同步修改后的遠程分支