python数据包pandas_python_pandas学习
numPy
pandas的數(shù)據(jù)結(jié)構(gòu)介紹
簡(jiǎn)介
Pandas [1] 是python的一個(gè)數(shù)據(jù)分析包,最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源出來,目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)team繼續(xù)開發(fā)和維護(hù),屬于PyData項(xiàng)目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,pandas為時(shí)間序列分析提供了很好的支持。 Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。panel data是經(jīng)濟(jì)學(xué)中關(guān)于多維數(shù)據(jù)集的一個(gè)術(shù)語(yǔ),在Pandas中也提供了panel的數(shù)據(jù)類型。
數(shù)據(jù)結(jié)構(gòu)
Series:一維數(shù)組,與Numpy中的一維array類似。二者與Python基本的數(shù)據(jù)結(jié)構(gòu)List也很相近,其區(qū)別是:List中的元素可以是不同的數(shù)據(jù)類型,而Array和Series中則只允許存儲(chǔ)相同的數(shù)據(jù)類型,這樣可以更有效的使用內(nèi)存,提高運(yùn)算效率。
Time- Series:以時(shí)間為索引的Series。
DataFrame:二維的表格型數(shù)據(jù)結(jié)構(gòu)。很多功能與R中的data.frame類似。可以將DataFrame理解為Series的容器。以下的內(nèi)容主要以DataFrame為主。
Panel :三維的數(shù)組,可以理解為DataFrame的容器。
終端輸入
Jupyter Notebook
導(dǎo)入相關(guān)模塊
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
Series
Series是一種類似于一維數(shù)組的對(duì)象,它由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。
實(shí)質(zhì)上是創(chuàng)建了一個(gè) Series 對(duì)象,這也就說明了為什么會(huì)有index和values.
Series自定義索引
Series自定義索引的另一種方法
在這里就引入另一個(gè)概念“自動(dòng)對(duì)齊”。自定義的索引會(huì)自動(dòng)去尋找原來的索引,如果一樣的,就取出原來索引對(duì)應(yīng)的值。
在 Pandas 中,如果沒有值,都對(duì)齊賦給 NaN。
當(dāng)然上面的代碼也可以寫成這樣
Series判斷值是否為空
DataFrame
一個(gè)Datarame表示一個(gè)表格,類似電子表格的數(shù)據(jù)結(jié)構(gòu),包含一個(gè)經(jīng)過排序的列表集,它們沒一個(gè)都可以有不同的類型值(數(shù)字,字符串,布爾等等)。Datarame有行和列的索引;它可以被看作是一個(gè)Series的字典(每個(gè)Series共享一個(gè)索引)。
構(gòu)建DataFrame最常用的方法——直接傳入一個(gè)由等長(zhǎng)列表或NumPy數(shù)組組成的字典
如果指定了列序列,則DataFrame的列就會(huì)按照指定的順序進(jìn)行排列
如果傳入的列在數(shù)據(jù)中找不到,就會(huì)產(chǎn)生NAN值
通過行、列進(jìn)行獲取
通過類似字典標(biāo)記的方式或?qū)傩缘姆绞?#xff0c;可以將DataFream的列獲取為一個(gè)Series:
同理行也可以通過位置或名稱的方式進(jìn)行獲取
基本功能
重新索引
Series的reindex將會(huì)根據(jù)新索引進(jìn)行,如果某個(gè)索引值當(dāng)前不存在,就引入缺失值
reindex的method選項(xiàng)
ffill或pad 向前填充值
bfill或backfill 向后填充值
對(duì)于DataFrame,reindex可以修改行、列或者兩個(gè)都可以修改。如果僅傳入一個(gè)序列,則會(huì)重新索引行
reindex函數(shù)的參數(shù)
參數(shù)
說明
index
用作索引的新序列。既可以是index實(shí)例,也可以是其他序列型python數(shù)據(jù)結(jié)構(gòu)
method
插值方式
fill_value
在重新索引過程中,需要引入缺失值時(shí)使用的代替值
limit
前向或后向填充時(shí)的最大填充量
level
在Multilndex的指定級(jí)別上匹配簡(jiǎn)單索引,否則選取其子集
copy
默認(rèn)為true,無論如何都復(fù)制;如果為false,則新舊相等就不復(fù)制
索引、選取和過濾
類型
說明
obj[val]
選取DataFrame的單個(gè)列或一組列。在一些特殊的情況下會(huì)比較便利:布爾型數(shù)組(過濾行)
obj.ix[val]
選取DataFrame的單個(gè)行或一組行
obj.ix[:,val]
選取單個(gè)列或列子集
obj.ix[val1,val2]
同時(shí)選取行和列
reindex方法
將一個(gè)或多個(gè)軸匹配到新索引
xs方法
根據(jù)標(biāo)簽選取單行或單列,并返回一個(gè)Series
icol、irow方法
根據(jù)整數(shù)位置選取單行或單列,并返回一個(gè)Series
get_value、set_value方法
根據(jù)行標(biāo)簽或列標(biāo)簽選取單個(gè)值
總結(jié)
以上是生活随笔為你收集整理的python数据包pandas_python_pandas学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 资产减值损失属于什么科目
- 下一篇: python 希尔伯特变换_python