国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一文帶你斬殺Python之Numpy??Pandas全部操作【全網(wǎng)最詳細(xì)】???

asoren / 3282人閱讀

目錄

Numpy簡(jiǎn)介

Numpy操作集合

1、不同維度數(shù)據(jù)的表示

1.1 一維數(shù)據(jù)的表示

1.2 二維數(shù)據(jù)的表示

1.3 三維數(shù)據(jù)的表示

2、 為什么要使用Numpy

2.1、Numpy的ndarray具有廣播功能

2.2 Numpy數(shù)組的性能比Python原生數(shù)據(jù)類型高

3 ndarray的屬性和基本操作

3.1 ndarray的基本屬性

 3.2 ndarray元素類型

 3.3 創(chuàng)建ndarray的方式

3.4 ndarray對(duì)象的變換

3.5 ndarray對(duì)象的操作

4 、Numpy的函數(shù)與數(shù)組運(yùn)算

4.1 數(shù)組與標(biāo)量之間的運(yùn)算

 4.2 對(duì)數(shù)組的元素進(jìn)行運(yùn)算

4.3 數(shù)組之間的運(yùn)算

 4.4 統(tǒng)計(jì)函數(shù)

4.5 隨機(jī)函數(shù)

5 、Numpy數(shù)據(jù)的存取

5.1 csv數(shù)據(jù)文件的存取

 Pandas簡(jiǎn)介

Pandas操作集合

1 、pandas數(shù)據(jù)結(jié)構(gòu)之Series

1.1 創(chuàng)建Series

 1.1.1 從ndarray創(chuàng)建Series

1.1.2 從字典或列表創(chuàng)建Series

1.1.3 從標(biāo)量創(chuàng)建

1.2 對(duì)Series的操作

1.2.1 Series和ndarray相似的操作

1.2.2 向量化運(yùn)算

 1.2.3 類似字典的操作

1.2.4 時(shí)間序列操作

 2、pandas數(shù)據(jù)結(jié)構(gòu)之DataFrame

2.1 DataFrame的創(chuàng)建

2.1.1 從Series or dicts創(chuàng)建

2.1.2 從ndarrays或lists的字典創(chuàng)建 

2.1.3 從結(jié)構(gòu)化或成對(duì)的array/list創(chuàng)建

 2.1.3 從字典的列表創(chuàng)建

2.2 變量選擇、添加和刪除

3、 數(shù)據(jù)導(dǎo)出

3.1 導(dǎo)出到本地文件

3.1.1 導(dǎo)出為文本文件

 3.1.2 導(dǎo)出為Excel文件

3.1.3 導(dǎo)出為Json文件

3.1.4 導(dǎo)出為hdf文件

3.2 將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)

3.3 數(shù)據(jù)導(dǎo)入

3.3.1 從本地文件

 4 、分組計(jì)算與匯總

5、數(shù)據(jù)融合

 Pandas高級(jí)操作補(bǔ)充

 

每文一語(yǔ)


Numpy簡(jiǎn)介

        Numpy專門針對(duì)ndarray的操作和運(yùn)算進(jìn)行了設(shè)計(jì),所以數(shù)組的存儲(chǔ)效率和輸入輸出性能遠(yuǎn)優(yōu)于Python中的嵌套列表,數(shù)組越大,Numpy的優(yōu)勢(shì)就越明顯。Numpy系統(tǒng)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來(lái)表示矩陣(matrix))。據(jù)說(shuō)NumPy將Python相當(dāng)于變成一種免費(fèi)的更強(qiáng)大的MATLAB系統(tǒng)。

 

         ndarray中的所有元素的類型都是相同的,而Python列表中的元素類型是任意的,所以ndarray在存儲(chǔ)元素時(shí)內(nèi)存可以連續(xù),而python原生lis就t只能通過尋址方式找到下一個(gè)元素,這雖然也導(dǎo)致了在通用性能方面Numpy的ndarray不及Python原生list,但在科學(xué)計(jì)算中,Numpy的ndarray就可以省掉很多循環(huán)語(yǔ)句,代碼使用方面比Python原生list簡(jiǎn)單的多。

總的來(lái)說(shuō),在科學(xué)計(jì)算和大數(shù)據(jù)的處理上面,numpy的優(yōu)勢(shì)遠(yuǎn)遠(yuǎn)超過了原生態(tài)的Python內(nèi)置方法,正所謂“工欲善其事必先利其器”,任何一門工程學(xué)科的發(fā)現(xiàn)和精進(jìn),都離不開各種軟件的升級(jí)和迭代。

Numpy操作集合

1、不同維度數(shù)據(jù)的表示

1.1 一維數(shù)據(jù)的表示

# 列表[1,2,"a",4]

在Python中,最為常見的數(shù)據(jù)類型就是列表,列表是一維的數(shù)據(jù),同時(shí)也是我們處理數(shù)據(jù)的常見集裝箱。

 在anaconda里面的jupyter notebook里面,我們直接使用pip安裝這一個(gè)庫(kù),一般的anaconda會(huì)自帶numpy這一個(gè)第三方庫(kù)。

在使用numpy的時(shí)候,首先要引入這一個(gè)第三方庫(kù),使用:import numpy as np即可,便于為我們后面的方法屬性調(diào)用。

在構(gòu)造最為基本的numpy數(shù)據(jù)時(shí),我們使用numpy的array()方法,里面就是一個(gè)列表形式的,可以是多維數(shù)組,最終構(gòu)造成:ndarray類型

# 集合set([1,"a",3,4]) #集合的元素唯一且無(wú)序
# 元組tuple([1,"a",3,4])#元組的元素不可變

對(duì)于Python里面的常見的幾種數(shù)據(jù)類型:字符串、元組、列表、字典、集合,重點(diǎn)需要注意的是字符串和元組是不可修改的,但是可以通過索引來(lái)組合和切斷這些元素,例如:

 我們發(fā)現(xiàn),元組是不可以修改的,但是我們的列表卻可以

 那么就會(huì)有小伙伴疑問了,那么不可修改,怎么辦!我們可以通過下面的方法:

直接在同一個(gè)元組上更新是不可行的,但是可以通過拷貝現(xiàn)有的元組片段構(gòu)造一個(gè)新的元組的方式解決。

通過分片的方法讓元組拆分成兩部分,然后再使用連接操作符(+)合并成一個(gè)新元組,最后將原來(lái)的變量名(temp)指向連接好的新元組。在這里就要注意了,逗號(hào)是必須的,小括號(hào)也是必須的!

temp = ("小雞","小狗","小豬")temp = temp[:2] + ("小猴子",) + temp[2:]print(temp)     ("小雞", "小狗", "小猴子", "小豬")

刪除元組中的元素:對(duì)于元組是不可變的原則來(lái)說(shuō),多帶帶刪除一個(gè)元素是不可能的,當(dāng)然你可以利用切片的方式更新元組,間接的刪除一個(gè)元素。

    temp = ("小雞","小狗","小豬")    temp = temp[:1] + temp[2:]    print(temp)         ("小雞", "小豬")

在日常中很少用del去刪除整個(gè)元組,因?yàn)镻ython的回收機(jī)制會(huì)在這個(gè)元組不再被使用的時(shí)候自動(dòng)刪除。如果整個(gè)刪除那么就會(huì)報(bào)錯(cuò)!!!

1.2 二維數(shù)據(jù)的表示

 最簡(jiǎn)單的方法就是使用列表進(jìn)行二維數(shù)組的創(chuàng)建,那么如果我們不使用這種方法,我們應(yīng)該如何去做呢?

答案是:numpy的array()

我們也可以將一個(gè)numpy裝換為dataframe類型,也就是我們的二維數(shù)據(jù)表

 我們使用Python里面的最強(qiáng)大的pandas庫(kù),進(jìn)行處理,構(gòu)造一個(gè)二維數(shù)組,使用pandas里面的column方法,對(duì)數(shù)組的標(biāo)簽進(jìn)行自定義。

1.3 三維數(shù)據(jù)的表示

如何去理解這個(gè)維度呢?首先我們知道任何一個(gè)數(shù)組都是需要一個(gè)[]進(jìn)行包裹的,其實(shí)最為簡(jiǎn)單的判斷方法就是看[]的個(gè)數(shù),從左到右,數(shù)一下,三個(gè),那么就是三維數(shù)組,簡(jiǎn)單粗暴但是言簡(jiǎn)意賅。

其實(shí)從數(shù)據(jù)表里面我們可以看出,如果需要組成這樣二維多帶帶的數(shù)據(jù)表,那么就是二維數(shù)據(jù),在單元的數(shù)據(jù)表中,仍然存在數(shù)組的嵌套,那么就是維度的+1

2、 為什么要使用Numpy

2.1、Numpy的ndarray具有廣播功能

查看版本

 np.array?

可以查看官方的解釋,同時(shí)我們也可以使用np.info(np.array)對(duì)方法進(jìn)行查看和學(xué)習(xí)

 

 有時(shí)候我們需要產(chǎn)生一個(gè)特定范圍的的數(shù)組,而且我們希望數(shù)據(jù)是平均的分配,這個(gè)時(shí)候我們我們就可以使用numpy的linspace()方法了,它的功能就是產(chǎn)生一個(gè)特定平均份數(shù)的一維數(shù)組。

np.linspace(start,end,count):注意它會(huì)將開始元素和末尾的元素都取到,然后按照count份數(shù)進(jìn)行分割

np.empty(行,列):也就是產(chǎn)生特定的維度,多少行和列的數(shù)組

q = np.array([1,2,3,4],dtype=np.complex128)   print("數(shù)據(jù)類型",type(q))           #打印數(shù)組數(shù)據(jù)類型  print("數(shù)組元素?cái)?shù)據(jù)類型:",q.dtype) #打印數(shù)組元素?cái)?shù)據(jù)類型  print("數(shù)組元素總數(shù):",q.size)      #打印數(shù)組尺寸,即數(shù)組元素總數(shù)  print("數(shù)組形狀:",q.shape)         #打印數(shù)組形狀  print("數(shù)組的維度數(shù)目",q.ndim)      #打印數(shù)組的維度數(shù)目

初學(xué)者總是把這些屬性記成了方法,注意我們的屬性是沒有()的

2.2 Numpy數(shù)組的性能比Python原生數(shù)據(jù)類型高

 通過這個(gè)例子,我們可以看到numpy的效率遠(yuǎn)遠(yuǎn)高于我們的list列表原生態(tài)的執(zhí)行速度和效率

3 ndarray的屬性和基本操作

3.1 ndarray的基本屬性

 3.2 ndarray元素類型

 那么有時(shí)候我們?cè)傧耄绻麛?shù)組的長(zhǎng)度不一致,那么會(huì)不會(huì)有影響呢?

 通過例子,我們發(fā)現(xiàn),如果構(gòu)造的數(shù)據(jù)長(zhǎng)度不一致,不會(huì)報(bào)錯(cuò),但是會(huì)發(fā)出警告,也就是說(shuō)這種方法,在Python里面還是支持的,但是我們發(fā)現(xiàn)它被多帶帶的構(gòu)造為一個(gè)list類型了,元素大小也就發(fā)生了改變,將一個(gè)列表嵌套在一個(gè)列表當(dāng)中。

我們可以看看長(zhǎng)度一致的情況:

 顯然是符合我們的要求的

 3.3 創(chuàng)建ndarray的方式

 創(chuàng)建的時(shí)候可以指定我們的數(shù)據(jù)類型

 np.arange(),返回的是序列數(shù)組,最后一個(gè)取不到,一維的

np.ones(3,4),返回的是3行4列的全1數(shù)組,如果里面有三個(gè)數(shù)字,那么第一數(shù)字代表里面,有多少個(gè)多帶帶獨(dú)立的數(shù)組

np.zeros(數(shù)組,行,列)生成一個(gè)多少個(gè)獨(dú)立數(shù)組,每個(gè)獨(dú)立數(shù)組里面有多少行,多少列,最后類型是全0數(shù)組,如下:

 

 np.full((n,m),value),生成一個(gè)特定維度的數(shù)組,且元素由自己定義

np.eye(n),生成一個(gè)nxn的單位矩陣

 np.ones_like(array),生成一個(gè)和目標(biāo)數(shù)組一樣的全1數(shù)組

 使用np.linspace(),形成新的一維序列數(shù)組

 使用np.concatenate((array1,array2),axis=0):按照行進(jìn)行拼接

        np.concatenate((array1,array2),axis=1):按照列進(jìn)行拼接

 如果這里使用橫向連接,那么就會(huì)報(bào)錯(cuò),為了防止報(bào)錯(cuò),我們可以使用裝置功能

拼接也要注意,是否可以!!!

3.4 ndarray對(duì)象的變換

 我們可以根據(jù)自己需要變換我們的一維數(shù)組,為多維數(shù)組,使用reshape(行,列)

這個(gè)方法也可以修改,但是要注意的是:resize(方法)修改的是原數(shù)組,而reshape(方法)并沒有修改原數(shù)組,需要賦值給新的變量,該修改才能生效。

 使用swapaxes(1,0)進(jìn)行維度調(diào)換,原來(lái)的行數(shù)變成現(xiàn)在的列數(shù),不改變?cè)瓟?shù)組

 flatten()降維處理,一維,不改變?cè)瓟?shù)組

 astype(np.int16),或者其他的numpy數(shù)據(jù)類型,直接拷貝數(shù)據(jù)類型格式

 轉(zhuǎn)換為list類型

3.5 ndarray對(duì)象的操作

索引和我們Python里面的較為相似,如果里面存在多個(gè)獨(dú)立數(shù)組,那么第一個(gè)索引只取出大的數(shù)組框,然后后面對(duì)應(yīng)的就是行和列

 對(duì)于步長(zhǎng)而言,我們要明確的是,索引從0開始,最后一個(gè)索引永遠(yuǎn)取不到,其次,不寫出的索引為默認(rèn)取到,對(duì)于步長(zhǎng)取索引,我們按照空格方法記憶最好!

4 、Numpy的函數(shù)與數(shù)組運(yùn)算

4.1 數(shù)組與標(biāo)量之間的運(yùn)算

 4.2 對(duì)數(shù)組的元素進(jìn)行運(yùn)算

 

4.3 數(shù)組之間的運(yùn)算

 4.4 統(tǒng)計(jì)函數(shù)

 np.sum(array,axis=(0,1))對(duì)行和列進(jìn)行求和,那么就是所有元素相加,如果是1,那么就是行,0就是列

有小伙伴對(duì)axis=1,0的具體含義有很多的疑問:這里給出解釋:

注意看,官方對(duì)于0和1的解釋是軸,也就是坐標(biāo)軸。而坐標(biāo)軸是有方向的,所以千萬(wàn)不要用行和列的思維去想axis,因?yàn)樾泻土惺菦]有方向的,這樣想會(huì)在遇到不同的例子時(shí)感到困惑。

根據(jù)官方的說(shuō)法,1表示橫軸,方向從左到右;0表示縱軸,方向從上到下。當(dāng)axis=1時(shí),數(shù)組的變化是橫向的,而體現(xiàn)出來(lái)的是列的增加或者減少。

其實(shí)axis的重點(diǎn)在于方向,而不是行和列。具體到各種用法而言也是如此。當(dāng)axis=1時(shí),如果是求平均,那么是從左到右橫向求平均;如果是拼接,那么也是左右橫向拼接;如果是drop,那么也是橫向發(fā)生變化,體現(xiàn)為列的減少。

當(dāng)考慮了方向,即axis=1為橫向,axis=0為縱向,而不是行和列,那么所有的例子就都統(tǒng)一了。
 

 對(duì)于這些方法,熟悉和掌握是兩回事,熟能生巧.......

4.5 隨機(jī)函數(shù)

 仔細(xì)觀察這兩個(gè)方法:

np.random.rand()是產(chǎn)生0,1的分布隨機(jī)數(shù)

np.random.randn()產(chǎn)生的是標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)

有n的是正態(tài)分布隨機(jī)數(shù),沒有的是0,1的隨機(jī)數(shù)

 隨機(jī)種子

 數(shù)組打亂

 

5 、Numpy數(shù)據(jù)的存取

5.1 csv數(shù)據(jù)文件的存取

 

 一般在numpy里面對(duì)于數(shù)據(jù)保存和載入,沒有經(jīng)常性的要求,因?yàn)樵趐andas里面提供了大量的方法,為我們載入和保存。


 Pandas簡(jiǎn)介

Python Data Analysis Library 或 pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會(huì)發(fā)現(xiàn),它是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。

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的容器。

Pandas 有兩種自己獨(dú)有的基本數(shù)據(jù)結(jié)構(gòu)。讀者應(yīng)該注意的是,它固然有著兩種數(shù)據(jù)結(jié)構(gòu),因?yàn)樗廊皇?Python 的一個(gè)庫(kù),所以,Python 中有的數(shù)據(jù)類型在這里依然適用,也同樣還可以使用類自己定義數(shù)據(jù)類型。只不過,Pandas 里面又定義了兩種數(shù)據(jù)類型:Series 和 DataFrame,它們讓數(shù)據(jù)操作更簡(jiǎn)單了。

Pandas操作集合

1 、pandas數(shù)據(jù)結(jié)構(gòu)之Series

1.1 創(chuàng)建Series

# 導(dǎo)入pandas和numpy!pip install  numpy!pip install  pandasimport pandas as pdimport numpy as np

 1.1.1 從ndarray創(chuàng)建Series

 pd.Series():創(chuàng)建一個(gè)數(shù)據(jù)表,里面的index提供了索引的方法,給出的是一個(gè)列表的類型。

同時(shí)也可以使用index取出標(biāo)簽索引

1.1.2 從字典或列表創(chuàng)建Series

Series提供了字典的類型,進(jìn)行組合,就算是我們有缺失的鍵值對(duì),但是我們可以自己定義標(biāo)簽index

列表也可以完成,這在我們進(jìn)行爬蟲的時(shí)候,我們可以用列表容器進(jìn)行,存儲(chǔ)

1.1.3 從標(biāo)量創(chuàng)建

 創(chuàng)建的是一樣的值,我們可以根據(jù)自己的需要進(jìn)行

1.2 對(duì)Series的操作

1.2.1 Series和ndarray相似的操作

按照索引進(jìn)行取值和修改

 get()方法,如果存在這樣的鍵值對(duì),那么就可以取出來(lái),但是如果不存在,就會(huì)使用后面的那個(gè)默認(rèn)值

索引切片和我們之前介紹的Python內(nèi)置方法也是一樣,和numpy里面的思想也差不多,這里就不多多贅述了。

1.2.2 向量化運(yùn)算

 1.2.3 類似字典的操作

我們發(fā)現(xiàn)列表解析原來(lái)如此的強(qiáng)大,為我們減輕很多的麻煩,其實(shí)如果你熟練掌握Python的基礎(chǔ)語(yǔ)法,這一點(diǎn)你也是可以理解的

1.2.4 時(shí)間序列操作

pd.date_range():

pd.date_range(    start=None,#開始時(shí)間    end=None,#截止時(shí)間    periods=None,#總長(zhǎng)度    freq=None,#時(shí)間間隔    tz=None,#時(shí)區(qū)    normalize=False,#是否標(biāo)準(zhǔn)化到midnight    name=None,#date名稱    closed=None,#首尾是否在內(nèi)    **kwargs,)

 

asfreq("時(shí)間頻率"):改變時(shí)間頻率

 索引思想依然一致

 按照步長(zhǎng)進(jìn)行索引的搜尋

 2、pandas數(shù)據(jù)結(jié)構(gòu)之DataFrame

2.1 DataFrame的創(chuàng)建

2.1.1 從Series or dicts創(chuàng)建

 通過字典進(jìn)行構(gòu)造,這也滿足了,我們?nèi)绾伟炎值漕愋娃D(zhuǎn)換為dataframe類型,最后保存在我們需要的數(shù)據(jù)表類型里面

 說(shuō)實(shí)話,在我們的日常數(shù)據(jù)處理里面,我們一般是把字典嵌套在列表里面,那么我們就可以把列表放入這個(gè)里面,最后轉(zhuǎn)換為dataframe類型存儲(chǔ)

2.1.2 從ndarrays或lists的字典創(chuàng)建 

 不加index,默認(rèn)數(shù)字序列

 行標(biāo)簽,column如果和字典的鍵不對(duì)應(yīng),那么就會(huì)為空,這個(gè)是需要注意的

2.1.3 從結(jié)構(gòu)化或成對(duì)的array/list創(chuàng)建

三維數(shù)組進(jìn)行,數(shù)據(jù)表展示,就是這樣的

 2.1.3 從字典的列表創(chuàng)建

2.2 變量選擇、添加和刪除

 這里交代了數(shù)據(jù)表里面一般拼接,增加和賦值操作

 df["字段"]=pd.Series([填充字段],index=[列標(biāo)簽]),可以達(dá)到對(duì)數(shù)據(jù)表的增加,在特定的列索引上面添加數(shù)據(jù)

刪除并顯示值,該列數(shù)據(jù)

對(duì)某一列刪除操作

 

會(huì)根據(jù)索引來(lái)進(jìn)行匹配,沒有匹配到索引的,將會(huì)填充為NaN 

3、 數(shù)據(jù)導(dǎo)出

 為了演示數(shù)據(jù)的導(dǎo)出。這里我們引入一個(gè)新的第三方庫(kù)tushare,通過這個(gè)庫(kù),我們可以輕松的獲取金融相關(guān)數(shù)據(jù),如股票數(shù)據(jù)。

以下為tushare庫(kù)的介紹。 其官方文檔地址為:http://tushare.org/index.html TuShare是一個(gè)免費(fèi)、開源的python財(cái)經(jīng)數(shù)據(jù)接口包。主要實(shí)現(xiàn)對(duì)股票等金融數(shù)據(jù)從數(shù)據(jù)采集、清洗加工 到 數(shù)據(jù)存儲(chǔ)的過程,能夠?yàn)榻鹑诜治鋈藛T提供快速、整潔、和多樣的便于分析的數(shù)據(jù),為他們?cè)跀?shù)據(jù)獲取方面極大地減輕工作量,使他們更加專注于策略和模型的研究與實(shí)現(xiàn)上。

考慮到Python pandas包在金融量化分析中體現(xiàn)出的優(yōu)勢(shì),TuShare返回的絕大部數(shù)據(jù)格式都是pandas DataFrame類型,非常便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。

當(dāng)然,如果您習(xí)慣了用Excel或者關(guān)系型數(shù)據(jù)庫(kù)做分析,您也可以通過TuShare的數(shù)據(jù)存儲(chǔ)功能,將數(shù)據(jù)全部保存到本地后進(jìn)行分析。

我們先獲取2017年,第二季度全部股票的業(yè)績(jī)報(bào)告,盈利能力,營(yíng)運(yùn)能力數(shù)據(jù),然后分別用不同方式保存它們。

!pip install wheel!pip install lxml!pip install tushare!pip install beautifulsoup4!pip install requests!pip install pandasimport tushare as ts# 業(yè)績(jī)報(bào)告report = ts.get_report_data(2017,2)# 盈利能力profit = ts.get_profit_data(2017,2)# 營(yíng)運(yùn)能力operation = ts.get_operation_data(2017,2)

 

3.1 導(dǎo)出到本地文件

3.1.1 導(dǎo)出為文本文件

report.to_csv("./report.csv",index = False,encoding = "utf-8")profit.to_csv("./profit.csv",index = False,encoding = "utf-8")operation.to_csv("./operation.csv",index = False,encoding = "utf-8")

 3.1.2 導(dǎo)出為Excel文件

# 可以分別導(dǎo)出到不同的Excel工作簿;!pip  install openpyxlreport.to_excel("./report.xlsx",index =False)profit.to_excel("./profit.xlsx",index = False)operation.to_excel("./operation.xlsx",index =False)

在pandas里面提供了大量的數(shù)據(jù)載入和數(shù)據(jù)導(dǎo)出的方法

#先打開一個(gè)Excel工作簿,然后分別寫入三個(gè)表格,然后關(guān)掉Excel工作簿writer = pd.ExcelWriter("./finance.xlsx")report.to_excel(writer,sheet_name="report",index = False)profit.to_excel(writer,sheet_name="profit",index = False)operation.to_excel(writer,sheet_name="operation",index = False)# 文件寫入完畢后關(guān)掉Excel工作簿writer.close()

3.1.3 導(dǎo)出為Json文件

# 導(dǎo)出為json文件report.to_json("./report.json")

3.1.4 導(dǎo)出為hdf文件

# 導(dǎo)出為hdf文件!pip install tablesfrom warnings import filterwarningsfilterwarnings("ignore")report.to_hdf("./report.hdf","report")# ImportError: HDFStore requires PyTables, "No module named "tables"" problem importing

3.2 將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)

import sqlite3# 創(chuàng)建連接sqlite_con = sqlite3.connect("./pandas.db")# 寫入數(shù)據(jù)report.to_sql("report",sqlite_con,if_exists ="replace",index =False)profit.to_sql("profit",sqlite_con,if_exists ="replace",index =False)operation.to_sql("operation",sqlite_con,if_exists ="replace",index =False)

3.3 數(shù)據(jù)導(dǎo)入

3.3.1 從本地文件

# 從文本文件# 推薦使用相對(duì)路徑pd.read_csv("./report.csv").head(3)

 

#從Excel文件# 如果不是被迫選擇Excel文件格式,一般不推薦使用Excel文件格式,速度很慢!pip install xlrdpd.read_excel("./report.xlsx").head()

 4 、分組計(jì)算與匯總

如果說(shuō),數(shù)據(jù)的導(dǎo)入和導(dǎo)出是數(shù)據(jù)的前提,那么數(shù)據(jù)的處理分析那么就是數(shù)據(jù)的精華

按照不同的字段進(jìn)行分組聚合統(tǒng)計(jì),count()計(jì)數(shù),sum()求和

按照不同的字段分別分組聚合,然后進(jìn)行統(tǒng)計(jì)分析,輸出需要顯示的指標(biāo)變量的值

注意這里的describe()用于描述性分析,直接可以使用該方法

5、數(shù)據(jù)融合

 構(gòu)造兩個(gè)臨時(shí)數(shù)據(jù)表,用于我們后面的操作

直接進(jìn)行連接

 Pandas高級(jí)操作補(bǔ)充

 

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/119691.html

相關(guān)文章

  • 全網(wǎng)首份Python打包工具Pyinstaller實(shí)戰(zhàn)指南,如絲滑般體驗(yàn)

    摘要:最好是客戶雙擊,完事兒。目前已經(jīng)兼容,以及和。一共會(huì)有個(gè)對(duì)象,分別是。,就是我們的工作目錄,存放我們的數(shù)據(jù)。編譯打包最后,我們執(zhí)行就好了。打包的可執(zhí)行文件會(huì)在里,中是一些打包時(shí)候需要的文件。輸出中最后有字樣,就算成功了。 showImg(https://img-blog.csdnimg.cn/20190303211533768.png?x-oss-process=image/water...

    caikeal 評(píng)論0 收藏0
  • 以??簡(jiǎn)單易懂??的語(yǔ)言帶你搞懂有監(jiān)督學(xué)習(xí)算法【附Python代碼詳解】機(jī)器學(xué)習(xí)系列KNN篇

    必須要看的前言 本文風(fēng)格:以??簡(jiǎn)單易懂??的語(yǔ)言帶你徹底搞懂KNN,了解什么是有監(jiān)督學(xué)習(xí)算法。 認(rèn)真看完這篇文章,徹底了解KNN、了解監(jiān)督學(xué)習(xí)算法絕對(duì)是一樣很簡(jiǎn)單的事情。 注:本篇文章非常詳細(xì),同時(shí)我也附加了Python代碼,歡迎收藏后慢慢閱讀。 目錄 必須要看的前言監(jiān)督學(xué)習(xí)算法KNN/K近鄰算法1 算法原理1.1 實(shí)現(xiàn)過程1.2 距離的確定 2 算法的優(yōu)缺點(diǎn)3 算法的變種3.1 變...

    MoAir 評(píng)論0 收藏0
  • ??蘇州程序大白一文從基礎(chǔ)手把手教你Python數(shù)據(jù)可視化大佬??《??記得收藏??

    ??蘇州程序大白一文從基礎(chǔ)手把手教你Python數(shù)據(jù)可視化大佬??《??記得收藏??》 目錄 ????開講啦!!!!????蘇州程序大白?????博主介紹前言數(shù)據(jù)關(guān)系可視化散點(diǎn)圖 Scatter plots折線圖強(qiáng)調(diào)連續(xù)性 Emphasizing continuity with line plots同時(shí)顯示多了圖表 數(shù)據(jù)種類的可視化 Plotting with categorical da...

    Drinkey 評(píng)論0 收藏0
  • ??數(shù)據(jù)科學(xué)-PandasNumpy、Matplotlib秘籍精煉總結(jié)

    前言: 先感受一下數(shù)據(jù)科學(xué)的魅力,上圖是在Smart Dubai 2017 GITEX科技周展臺(tái)上推出Smart Decision-Making Platform(智能決策平臺(tái)),于10月8日至12日在迪拜世界貿(mào)易中心舉行。游客可以通過一個(gè)沉浸式的空間將數(shù)據(jù)可視化,讓他們了解迪拜的未來(lái)。讓參觀者可以在現(xiàn)場(chǎng)查閱觀看全市數(shù)據(jù),這意味著迪拜將成為了世界上第一個(gè)與公眾分享實(shí)時(shí)實(shí)時(shí)數(shù)據(jù)的城市,同時(shí)還可以預(yù)...

    Zhuxy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<