摘要:的名稱來自于面板數據和數據分析。以下的內容主要以為主。終端輸入導入相關模塊是一種類似于一維數組的對象,它由一組數據各種數據類型以及一組與之相關的數據標簽即索引組成。如果僅傳入一個序列,則會重新索引行函數的參數參數說明用作索引的新序列。
原文鏈接
numPy pandas的數據結構介紹Pandas [1] 是python的一個數據分析包,最初由AQR Capital Management于2008年4月開發,并于2009年底開源出來,目前由專注于Python數據包開發的PyData開發team繼續開發和維護,屬于PyData項目的一部分。Pandas最初被作為金融數據分析工具而開發出來,因此,pandas為時間序列分析提供了很好的支持。 Pandas的名稱來自于面板數據(panel data)和python數據分析(data analysis)。panel data是經濟學中關于多維數據集的一個術語,在Pandas中也提供了panel的數據類型。
數據結構Series:一維數組,與Numpy中的一維array類似。二者與Python基本的數據結構List也很相近,其區別是:List中的元素可以是不同的數據類型,而Array和Series中則只允許存儲相同的數據類型,這樣可以更有效的使用內存,提高運算效率。
Time- Series:以時間為索引的Series。
DataFrame:二維的表格型數據結構。很多功能與R中的data.frame類似??梢詫ataFrame理解為Series的容器。以下的內容主要以DataFrame為主。
Panel :三維的數組,可以理解為DataFrame的容器。
終端輸入
Jupyter Notebook
導入相關模塊
import numpy as np import pandas as pd from pandas import Series, DataFrameSeries
Series是一種類似于一維數組的對象,它由一組數據(各種NumPy數據類型)以及一組與之相關的數據標簽(即索引)組成。
實質上是創建了一個 Series 對象,這也就說明了為什么會有index和values.
Series自定義索引
Series自定義索引的另一種方法
在這里就引入另一個概念“自動對齊”。自定義的索引會自動去尋找原來的索引,如果一樣的,就取出原來索引對應的值。
在 Pandas 中,如果沒有值,都對齊賦給 NaN。
當然上面的代碼也可以寫成這樣
Series判斷值是否為空
一個Datarame表示一個表格,類似電子表格的數據結構,包含一個經過排序的列表集,它們沒一個都可以有不同的類型值(數字,字符串,布爾等等)。Datarame有行和列的索引;它可以被看作是一個Series的字典(每個Series共享一個索引)。
構建DataFrame最常用的方法——直接傳入一個由等長列表或NumPy數組組成的字典
如果指定了列序列,則DataFrame的列就會按照指定的順序進行排列
如果傳入的列在數據中找不到,就會產生NAN值
通過行、列進行獲取
通過類似字典標記的方式或屬性的方式,可以將DataFream的列獲取為一個Series:
同理行也可以通過位置或名稱的方式進行獲取
基本功能Series的reindex將會根據新索引進行,如果某個索引值當前不存在,就引入缺失值
reindex的method選項
ffill或pad 向前填充值
bfill或backfill 向后填充值
對于DataFrame,reindex可以修改行、列或者兩個都可以修改。如果僅傳入一個序列,則會重新索引行
reindex函數的參數
參數 | 說明 |
---|---|
index | 用作索引的新序列。既可以是index實例,也可以是其他序列型python數據結構 |
method | 插值方式 |
fill_value | 在重新索引過程中,需要引入缺失值時使用的代替值 |
limit | 前向或后向填充時的最大填充量 |
level | 在Multilndex的指定級別上匹配簡單索引,否則選取其子集 |
copy | 默認為true,無論如何都復制;如果為false,則新舊相等就不復制 |
類型 | 說明 |
---|---|
obj[val] | 選取DataFrame的單個列或一組列。在一些特殊的情況下會比較便利:布爾型數組(過濾行) |
obj.ix[val] | 選取DataFrame的單個行或一組行 |
obj.ix[:,val] | 選取單個列或列子集 |
obj.ix[val1,val2] | 同時選取行和列 |
reindex方法 | 將一個或多個軸匹配到新索引 |
xs方法 | 根據標簽選取單行或單列,并返回一個Series |
icol、irow方法 | 根據整數位置選取單行或單列,并返回一個Series |
get_value、set_value方法 | 根據行標簽或列標簽選取單個值 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41528.html
摘要:貢獻者飛龍版本最近總是有人問我,把這些資料看完一遍要用多長時間,如果你一本書一本書看的話,的確要用很長時間。為了方便大家,我就把每本書的章節拆開,再按照知識點合并,手動整理了這個知識樹。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 貢獻者:飛龍版...
摘要:不過,深度學習并不是人類可以創造的完美人工智能科技的終點。深度學習的公正性并非來自其自身,而是人類篩選和準備的深度學習數據。深度學習給出的是非自然合法語言解釋的結果。 現在每一個人都正在學習,或者正打算學習深度學習,它是目前人工智能諸多流派中興起的一個。各個年齡階段的數十萬人都在學習著免費和收費的深度學習課程。太多的創業公司和產品的命名以深度開頭,深度學習已然成了一個流行語,但其真正的落地應...
摘要:絕大多數人忽略了深度學習只占機器學習領域的,而機器學習又只占到了人工智能領域的。一個深度學習專家無法與人工智能專家劃上等號。但是,深度學習并不是人類可以創造的人工智能科技的終點。深度學習的公正性并非來自其自身,而是人類篩選和準備的數據。 人工智能的這一波熱潮毫無疑問是由深度學習引發的,自吳恩達等人 2011 年發表「識別貓」研究后,深度學習及其引發的技術已經在圖像識別、游戲等任務中超越人類,...
摘要:普通程序員,如何轉向人工智能方向,是知乎上的一個問題。領域簡介,也就是人工智能,并不僅僅包括機器學習。但是,人工智能并不等同于機器學習,這點在進入這個領域時一定要認識清楚。 人工智能已經成為越來越火的一個方向。普通程序員,如何轉向人工智能方向,是知乎上的一個問題。本文是對此問題的一個回答的歸檔版。相比原回答有所內容增加。 目的 本文的目的是給出一個簡單的,平滑的,易于實現的學習方法,幫...
閱讀 1246·2021-09-01 10:30
閱讀 2118·2021-07-23 10:38
閱讀 895·2019-08-29 15:06
閱讀 3151·2019-08-29 13:53
閱讀 3277·2019-08-26 11:54
閱讀 1822·2019-08-26 11:38
閱讀 2370·2019-08-26 10:29
閱讀 3128·2019-08-23 18:15