pandas學習與使用3
這一節主要是從DataFrame中進行資料的篩選,對之前兩節內容的綜合應用。執行環境python2.7
#!usr/bin/python3 # coding:utf-8 import pandas as pd import numpy as np dates = pd.date_range("20180110", periods=6) df = pd.DataFrame(np.arange(24).reshape((6, 4)), index=dates, columns=['A', 'B', 'C', 'D']) # A B C D # 2018-01-10 0 1 2 3 # 2018-01-11 4 5 6 7 # 2018-01-12 8 9 10 11 # 2018-01-13 12 13 14 15 # 2018-01-14 16 17 18 19 # 2018-01-15 20 21 22 23 print "df:\n", df # 效果相同:df['A'], 和, df.A,列印第一列 print "df[['A', 'B']]:\n", df[['A', 'B']] print "df.A:\n", df.A # 列印前三行 print "df[0:3]:\n", df[0:3] # 選擇輸出2018-01-11到2018-01-13的資料 print "df['20180111':'20180113']:\n", df['20180111':'20180113'] # select by label:loc 通過標籤來選擇 print "df.loc['20180111']:\n", df.loc['20180111'] # 選擇所有的行,列則選擇‘A’,‘B’這兩列 print "df.loc[:, ['A', 'B']]:\n", df.loc[:, ['A', 'B']] # 選擇2018-01-11到2018-01-13列,列則選擇‘A’,‘B’這兩列 print "df.loc['20180111':'20180113', ['A', 'B']]:\n", df.loc['20180111':'20180113', ['A', 'B']] # select by position:iloc # 列印第三行的資料 print "列印第三行的資料:\n", df.iloc[2] # 列印第三行中的第一個 print "列印第三行中的第一個:\n", df.iloc[2, 0] # 以切片的形式展示 # 切片[ )左畢右開 # 篩選地3:5列,1:3行 print "篩選地4和5列,2和3行:\n", df.iloc[3:5, 1:3] # 篩選2,4,6行,2和3列 print "篩選1,3,5行,1:3列:\n", df.iloc[[1, 3, 5], 1:3] # 將loc和iloc混合使用 # mix selection:ix print "篩選2和3行,A和C列:\n", df.ix[1:3, ['A', 'C']] # 使用boolean型別列印 # df.A > 8 則輸出 print "篩選A值大於8:\n", df[df.A > 8]
以下是上述程式碼的執行結果
D:\software\Anaconda2\python.exe D:/PycharmProjects/Learn/learn_panda/learn_pd3.py df: A B C D 2018-01-10 0 1 2 3 2018-01-11 4 5 6 7 2018-01-12 8 9 10 11 2018-01-13 12 13 14 15 2018-01-14 16 17 18 19 2018-01-15 20 21 22 23 df[['A', 'B']]: A B 2018-01-10 0 1 2018-01-11 4 5 2018-01-12 8 9 2018-01-13 12 13 2018-01-14 16 17 2018-01-15 20 21 df.A: 2018-01-10 0 2018-01-11 4 2018-01-12 8 2018-01-13 12 2018-01-14 16 2018-01-15 20 Freq: D, Name: A, dtype: int32 df[0:3]: A B C D 2018-01-10 0 1 2 3 2018-01-11 4 5 6 7 2018-01-12 8 9 10 11 df['20180111':'20180113']: A B C D 2018-01-11 4 5 6 7 2018-01-12 8 9 10 11 2018-01-13 12 13 14 15 df.loc['20180111']: A 4 B 5 C 6 D 7 Name: 2018-01-11 00:00:00, dtype: int32 df.loc[:, ['A', 'B']]: A B 2018-01-10 0 1 2018-01-11 4 5 2018-01-12 8 9 2018-01-13 12 13 2018-01-14 16 17 2018-01-15 20 21 df.loc['20180111':'20180113', ['A', 'B']]: A B 2018-01-11 4 5 2018-01-12 8 9 2018-01-13 12 13 列印第三行的資料: A 8 B 9 C 10 D 11 Name: 2018-01-12 00:00:00, dtype: int32 列印第三行中的第一個: 8 篩選地4和5列,2和3行: B C 2018-01-13 13 14 2018-01-14 17 18 篩選1,3,5行,1:3列: B C 2018-01-11 5 6 2018-01-13 13 14 2018-01-15 21 22 篩選2和3行,A和C列: A C 2018-01-11 4 6 2018-01-12 8 10 篩選A值大於8: A B C D 2018-01-13 12 13 14 15 2018-01-14 16 17 18 19 2018-01-15 20 21 22 23 Process finished with exit code 0
相關推薦
pandas學習與使用3
這一節主要是從DataFrame中進行資料的篩選,對之前兩節內容的綜合應用。執行環境python2.7 #!usr/bin/python3 # coding:utf-8 import pandas as pd import numpy as np dates = pd.
pandas學習與使用1
學習了numpy之後,開始繼續學習pandas。以下是pandas基本的一些語法及其使用方法,這一節主要是pandas中的Series結構。執行環境python2.7 #!/usr/bin/python # -*- coding: UTF-8 -*- import pa
pandas學習與使用2
繼續學習pandas庫,上一節主要介紹了Series,這一節主要是DataFrame結構的用法。執行環境python2.7 #!usr/bin/python3 # coding:utf-8 # pandas 使用DataFrame import numpy as np i
pandas 學習彙總3 - Series,DataFrame迭代iter( tcy)
迭代iter 2018/12/1 ======================================================================= 1.基本iteration()產生:#系列:值;DataFrame:列標籤;面板:專案標籤 # 迭代Seri
Git學習筆記3——工作區與暫存區,以及版本變更
暫存區 所有 cto tag clas 內容 blank 文件 set 工作區(Working Directory) 就是你在電腦裏能看到的目錄,比如我的Git_Learning文件夾就是一個工作區。 版本庫(Repository) 工作區有一個隱藏目錄.git,這個不
機器學習與量化交易-2-3
.cn img -1 bsp 9.png ges 量化 ima image 機器學習與量化交易-2-3
Pandas基礎學習與Spark Python初探
入學 init sparkconf sch 時間 com inux mas 取數 摘要:pandas是一個強大的Python數據分析工具包,pandas的兩個主要數據結構Series(一維)和DataFrame(二維)處理了金融,統計,社會中的絕大多數典型用例科學,以及許多
perl學習(3)模式匹配與正則表達式
.... 表達式 正則表達 pos 匹配模式 模式匹配 $2 多個 info 一:模式匹配中的特殊字符 1: 點號 . 匹配任何單個字符(換行符\n除外) 2: 反斜線 \ 轉義字符,用於特殊符號前,使其失去特殊字符的作用變成普通字符 3: +
mysql學習與提高3:mysql索引
目錄 索引 B Tree 原理 索引分類 B+Tree 索引 雜湊索引 全文索引 空間資料索引(R-Tree) 索引的特點 索引的優點 索引的缺點 索引失效 在什麼情況下適合建立索引 為什麼用B+樹做索引而不用B-樹或紅黑樹 聯合索引 什麼
Pandas入門學習(3)
文章目錄 Pandas 常用功能 1、Pandas 迭代 迭代 DataFrame iteritems()示例 iterrows()示例 itertuples()示例 2、Panda
python學習入門3識別符號與表示式 2018.8.17
參照:python程式設計第三版 python programming:an introduction to computer science 第二章:編寫簡單程式 名稱 名稱是程式設計的重要組成部分。我們為模組命名,為函式命名,為值命名(為物件命名)。 從技術上,所有這些名
【模式識別與機器學習】——3.9勢函式法:一種確定性的非線性分類方法
目的 用勢函式的概念來確定判別函式和劃分類別介面。 基本思想 假設要劃分屬於兩種類別ω1和ω2的模式樣本,這些樣本可看成是分佈在n維模式空間中的點xk。 把屬於ω1的點比擬為某種能源點,在點上,電位達到峰值。 隨著與該點距離的增大,電位分佈迅速減小,即把樣本xk附近空間x點上的電位分佈,看
機器學習與深度學習系列連載: 第二部分 深度學習(十五)迴圈神經網路 3(Gated RNN - GRU)
迴圈神經網路 3(Gated RNN - GRU) LSTM 是1997年就提出來的模型,為了簡化LSTM的複雜度,在2014年 Cho et al. 提出了 Gated Recurrent Units (GRU)。接下來,我們在LSTM的基礎上,介紹一下GRU。 主要思路是: •
機器學習與深度學習系列連載: 第二部分 深度學習(十二)卷積神經網路 3 經典的模型(LeNet-5,AlexNet ,VGGNet,GoogLeNet,ResNet)
卷積神經網路 3 經典的模型 經典的卷積神經網路模型是我們學習CNN的利器,不光是學習原理、架構、而且經典模型的超引數、引數,都是我們做遷移學習最好的源材料之一。 1. LeNet-5 [LeCun et al., 1998] 我們還是從CNN之父,LeCun大神在98年提出的模
ARM體系結構與程式設計學習筆記3
第三章 ARM指令集介紹 ARM的指令集可以分為6類,即跳轉指令,資料處理指令,程式狀態暫存器,Load/Store指令,協處理器指令,和異常中斷產生指令。 1:跳轉指令: 長跳轉: 直接向PC暫存器中寫入目標地址值可以實現4G地址空間的任意跳轉。MOV LR,PC 1:B:跳轉指令 2;B
ArcGIS for Android 100.3的學習與應用(三) 實現地圖新增自定義指北針
圖為高德地圖實現指北針的效果,那麼ArcGIS如何實現呢? 實現方式: 新增地圖的旋轉監聽: map.addMapRotationChangedListener(new MapRotationChangedListener() { @Override
ArcGIS for Android 100.3的學習與應用(二) 如何移除指定的點和線?
在地圖上新增點和線的時候,我們有時候會遇到要移除或者切換指定的點和線的操作。那麼如何移除指定的點和線呢? ArcGIS的api裡點和線都是由GraphicsOverlay類來進行建立新增的。通過Graphic物件將點或者線的圖形物件(SimpleMarkerSymbol,SimpleLine
ArcGIS for Android 100.3的學習與應用(一) 如何繪製點和線?
平時工作中,我們接觸到的地圖類開發平臺有很多,最常用的有高德,百度,騰訊地圖。而且它們都有自己的開發者平臺和文件供我們使用。基本能滿足我們的業務需求。 由於公司裡的專案會涉及一些地圖資料統計和展示方面的需求,同時也會發布一些地圖服務,所以選擇了使用在地圖方面比較牛逼的ArcGIS。 把平時遇
java學習(3)構造器和垃圾收集器、數字與靜態
構造器和垃圾收集器 棧與堆 方法的呼叫和區域性變數在棧,所有的物件在堆 棧頂上的方法是目前正在執行的。 物件的引用變數(就是遙控器)存放在棧上,而物件則存放到堆上 例項變數存放在所屬物件的堆空間上。 建構函式 建構函式並不是一個方法 建構函式沒有返回的型別,並
c學習筆記--3關鍵字 巨集與函式定義
好久之前的了,學習c語言的筆記。 依舊是老套路,從基礎的變數型別,到函式定義一步步學起 #include <stdio.h> #include <string.h> //函式定義 與關鍵字 //define用於巨集定義 程式中不能更