1. 程式人生 > >pandas學習與使用3

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用於巨集定義 程式中不能更