numpy和pandas的基礎索引切片

Numpy的索引切片

索引

In [72]: arr = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]])                 In [73]: arr                                                                   
Out[73]: 
array([[[1, 1, 1],[2, 2, 2]],[[3, 3, 3],[4, 4, 4]]])In [74]: arr.ndim                                                              
Out[74]: 3In [75]: arr.shape                                                             
Out[75]: (2, 2, 3)In [76]: arr[0]           #返回降低一個維度的數組                                                 
Out[76]: 
array([[1, 1, 1],[2, 2, 2]])

? In [77]: arr[0,0] ? ? ? ? #返回一維數組
? Out[77]: array([1, 1, 1])

切片

In [78]: arr[:,:,:2]                                                           
Out[78]: 
array([[[1, 1],[2, 2]],[[3, 3],[4, 4]]])

索引與切片結合

array([[[1, 1, 1],[2, 2, 2]],[[3, 3, 3],[4, 4, 4]]])
In [79]: arr[0,1,:2]                                                           
Out[79]: array([2, 2])

?

Pandas的索引切片

?一、Series的索引

In [8]: obj = pd.Series(np.arange(4),index=['a','b','c','d'])                  In [9]: obj                                                                    
Out[9]: 
a    0
b    1
c    2
d    3
dtype: int64

1)使用index進行索引

In [10]: obj['b']                                                              
Out[10]: 1In [11]: obj[1]                                                                
Out[11]: 1

2)切片

In [12]: obj['b':'d']    #包含尾部                                                      
Out[12]: 
b    1
c    2
d    3
dtype: int64In [13]: obj[1:3]                                                              
Out[13]: 
b    1
c    2
dtype: int64

3)使用索引列表進行索引

In [14]: obj[['b','d']]                                                        
Out[14]: 
b    1
d    3
dtype: int64In [15]: obj[[1,3]]                                                            
Out[15]: 
b    1
d    3
dtype: int64

?二、DataFrame的索引

In [20]: obj = pd.DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'...: ],columns=['a1','b2','c3','d4'])    
In [
21]: obj Out[21]: a1 b2 c3 d4 a 0 1 2 3 b 4 5 6 7 c 8 9 10 11 d 12 13 14 15

1)索引列

不可以obj[‘a’]了

In [32]: obj['b2']                                                             
Out[32]: 
a     1
b     5
c     9
d    13
Name: b2, dtype: int64

2)行切片

In [36]: obj[:3]                                                               
Out[36]: a1  b2  c3  d4
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11In [37]: obj[obj['c3']>6]  #根據布爾值數組選擇數據                                                    
Out[37]: a1  b2  c3  d4
c   8   9  10  11
d  12  13  14  15

3)索引列和行

In [38]: obj['a1']['c']                                                        
Out[38]: 8In [39]: obj['a1'][:2]                                                         
Out[39]: 
a    0
b    4
Name: a1, dtype: int64

4)使用loc和iloc選擇數據

使用軸標簽(loc)或整數標簽(iloc)從DataFrame中選出數組的行和列的子集

整數標簽(iloc):

In [55]: obj                                                                   
Out[55]: a1  b2  c3  d4
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15In [53]: obj.iloc[2,[2,0,1]]  #變換列順序                                                 
Out[53]: 
c3    10
a1     8
b2     9
Name: c, dtype: int64In [54]: obj.iloc[2]         #索引行                                                  
Out[54]: 
a1     8
b2     9
c3    10
d4    11
Name: c, dtype: int64

軸標簽(loc):

In [57]: obj.loc['a',['b2','a1']]                                              
Out[57]: 
b2    1
a1    0
Name: a, dtype: int64In [58]: obj.loc['a':'c',['b2','a1']]                                          Out[58]: b2  a1
a   1   0
b   5   4
c   9   8

?

轉載于:https://www.cnblogs.com/tongtong123/p/10620206.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249297.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249297.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249297.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatis的Example[Criteria]的使用

https://blog.csdn.net/u014756578/article/details/86490052

Thunar 右鍵菜單等自定義

Thunar 右鍵菜單等自定義 可以使用圖形界面或者直接編輯配置文件,二者是等價的。 圖形界面: 以給“zip,rar,7z”等文件添加“在此位置使用unar解壓縮”的右鍵菜單為例:(unar可以很好地處理編碼問題&#xf…

JavaScript設計模式(二)之單例模式

一、單例模式的定義 單例就是保證一個類只有一個實例,實現的方法一般是先判斷實例存在與否,如果存在直接返回,如果不存在就創建后再返回,這就確保了一個類只有一個實例對象。在JavaScript里,單例作為一個命名空間的提…

python全棧開發_day10_函數的實參和形參

一:函數的實參和形參 實參是在調用函數時()出現的外界的實際的值 形參不能再函數外部直接使用 1)實參的兩種形式 實參是調用函數時()中傳入的參數 1.位置實參 def a(a):print(a)a(1)#得到返回值:1 2.關鍵字實參 def a(a,b):print(a,b)a(b3,a5)#得到返回值…

JAVA的(PO,VO,TO,BO,DAO,POJO)解釋

JAVA的(PO,VO,TO,BO,DAO,POJO)解釋 O/R Mapping 是 Object Relational Mapping(對象關系映射)的縮寫。通俗點講,就是將對象與關系數據庫綁定,用對象來表示關系數據。在O/R Mapping的世界里,有兩個基本的也是重要的東東…

使用wsimport命令生成webService客戶端代碼實例

https://blog.csdn.net/qq_39459412/article/details/79079865

學習網站大匯集

一.綜合類學習網站(中文) 1.網易公開課:https://open.163.com/。上面有TED、可汗學院、國內外高校公開課的免費資源。站內內容完全免費,良心推薦。 2.網易云課堂:http://study.163.com/。網易旗下付費學習平臺&#…

ios怎樣在一個UIImageButton的里面加一些自己定義的箭頭

能夠採用例如以下方法,寫一個函數: -(UIImage*) getOneImageButtonWithArrow{//tmpView做附控件UIView *tmpView [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 38.0f, 32.0f)];tmpView.backgroundColor [UIColor clearColor];//bgImg作為背景…

vue從入門到精通之基礎篇(一)語法概要

(1).vue起步 1:引包2:啟動 new Vue({el:目的地,template:模板內容});options 目的地 el內容 template數據 data 保存數據屬性 數據驅動視圖 (2).插值表達式 {{ 表達式 }} 對象 (不要連續3個{{ {name:‘jack’} }})字符串 {{ ‘xxx’ }}判斷后的布爾值 {{ true }}三元表達式…

dede 文章列表頁如何倒序排列

{dede:arclist row6 typeid18 orderwayasc} <li>;<a href"[field:arcurl/]">[field:title/]</a></li> {/dede:arclist} 正常排列&#xff1a;orderwayasc倒序排列&#xff1a;orderwaydesc轉載于:https://www.cnblogs.com/php-qiuwei/p/1062…

Chapter 5 Blood Type——24

"Shes just a little faint," he reassured the startled nurse. "Theyre blood typing in Biology." "她只是有點頭暈&#xff0c;" 他讓護士放心的說道。“他們再生物課上測血型。” The nurse nodded sagely. "Theres always one."…

vue從入門到精通之基礎篇(二)組件

(1).局部組件的使用 ? 渲染組件-父使用子組件 1: 創建子組件(對象) var Header { template:模板 , data是一個函數,methods:功能,components:子組件們 } 2: 在父組件中聲明,根屬性components:{ 組件名:組件對象 }3: 在父組件要用的地方使用 <組件名></組件名> …

@Scheduled

Scheduled注解的使用這里不詳細說明&#xff0c;直接對8個參數進行講解。 參數詳解 cron 該參數接收一個cron表達式&#xff0c;cron表達式是一個字符串&#xff0c;字符串以5或6個空格隔開&#xff0c;分開共6或7個域&#xff0c;每一個域代表一個含義。 cron表達式語法 […

eclipse2019-03設置代碼編輯區背景為圖片

一、我的主題設置如下所示 二、找到如下所示或類似的文件夾 三、在該文件夾里的images文件夾里添加圖片 四、在CSS目錄下的e4-dark_win.css文件中添加如下代碼   .MPart StyledText {     background-image: url(./bg.jpg);     background-repeat: no-repeat;  …

idea集成gitlab使用ssh免密登錄

網上有很多介紹ssh免密登錄的文章&#xff0c;具體步驟如下&#xff1a; 1. 生成SSH Key ssh-keygen -t rsa -C "your_emailexample.com" 默認會在相應路徑下&#xff08;/your_home_path&#xff09;生成id_rsa和id_rsa.pub兩個文件&#xff0c;此時終端會顯示&…

vue從入門到精通之基礎篇(三)生命周期

生命周期 定義&#xff1a; 每個 Vue 實例在被創建時都要經過從創建倒掛載再到更新、卸載的一系列過程&#xff0c;同時在這個過程中也會運行一些叫做生命周期鉤子的函數&#xff0c;可以讓我們用自己注冊的js方法控制整個大局&#xff0c;在這些事件響應方法中的this直接指向…

libcurl庫進行http通訊網絡編程

https://www.cnblogs.com/lifan3a/articles/7479256.html

Java 開始

&#xff08;事先聲明&#xff1a;該文章并非完全是我自己的產出&#xff0c;更多的是我個人在看到資料后通過理解并記錄下來&#xff0c;作為自己閱讀后的一個筆記&#xff1b;我現在試圖對自己多年工作中的知識點做一個回顧&#xff0c;希望能融會貫通&#xff09; &#xff…

Java核心技術筆記——第 12 章 反射

轉載自&#xff1a;[https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html] 12 反射 1. 引入反射 通常情況下&#xff0c;調用一個類的方法的步驟如下&#xff1a; 創建該類的對象。調用該對象的方法。通過這種方式調用方法時&#xff0c;必須要知道類的定義以及…

HTML5知識點匯總

1、HTML5新特性 用于繪畫的canvas標簽用于媒介回放的video和audio元素對本地離線儲存的更好支持新的特殊內容元素&#xff0c;如&#xff1a;article、footer、header、nav、section、aside、hgroup、figure新的表單控件&#xff0c;如&#xff1a;calendar、date、time、emai…