欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python pandas庫(kù)的安裝和創(chuàng)建

 更新時(shí)間:2019年01月10日 10:19:31   作者:bugingcode  
這篇文章主要介紹了python pandas庫(kù)的安裝和創(chuàng)建,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

pandas 對(duì)于數(shù)據(jù)分析的人員來(lái)說(shuō)都是必須熟悉的第三方庫(kù),pandas 在科學(xué)計(jì)算上有很大的優(yōu)勢(shì),特別是對(duì)于數(shù)據(jù)分析人員來(lái)說(shuō),相當(dāng)?shù)闹匾?。python中有了Numpy ,但是Numpy 還是比較數(shù)學(xué)化,還需要有一種庫(kù)能夠更加具體的代表數(shù)據(jù)模型,我們都非常的清楚在數(shù)據(jù)處理中EXCEL 扮演著非常重要的作用,表格的模式是數(shù)據(jù)模型最好的一種展現(xiàn)形式。

pandas 是對(duì)表格數(shù)據(jù)模型在python上的模擬,它有簡(jiǎn)單的像SQL 對(duì)數(shù)據(jù)的處理,能夠方便的在python上實(shí)現(xiàn)。

pandas 的安裝

pandas 在python上的安裝同樣的使用pip進(jìn)行:

pip install pandas

pandas 創(chuàng)建對(duì)象

pandas 有兩種數(shù)據(jù)結(jié)構(gòu):SeriesDataFrame 。

Series

Series 像python中的數(shù)據(jù)list 一樣,每個(gè)數(shù)據(jù)都有自己的索引。從list創(chuàng)建 Series

>>> import pandas as pd
>>> s1 = pd.Series([100,23,'bugingcode'])
>>> s1
0   100
1   23
2 bugingcode
dtype: object
>>>

Series 中添加相應(yīng)的索引:

>>> import numpy as np
>>> ts = pd.Series(np.random.randn(365), index=np.arange(1,366))
>>> ts

在index中設(shè)置索引值是一個(gè)從1到366的值。

Series 的數(shù)據(jù)結(jié)構(gòu)最像的是python中的字典,從字典中創(chuàng)建Series

sd = {'xiaoming':14,'tom':15,'john':13}
s4 = pd.Series(sd)

這時(shí)候可以看到Series 已經(jīng)是自帶索引index。

pandas 本身跟 python的另外一個(gè)第三方庫(kù)Matplotlib 有很多的連接,Matplotlib 一個(gè)最經(jīng)常用到的是用來(lái)展示數(shù)據(jù)的,如果還對(duì)Matplotlib 不了解的話,后面的章節(jié)會(huì)進(jìn)行介紹,現(xiàn)在先拿過(guò)來(lái)直接用下,如果還沒(méi)有安裝的話,一樣的用pip命令安裝 pip install Matplotlib , 展示如下數(shù)據(jù):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ts = pd.Series(np.random.randn(365), index=np.arange(1,366))
ts.plot()
plt.show()

一個(gè)不規(guī)則的圖形,在數(shù)據(jù)分析中,時(shí)間是一個(gè)重要的特性,因?yàn)楹芏鄶?shù)據(jù)都是跟時(shí)間是有關(guān)系的,銷售額跟時(shí)間有關(guān)系,天氣跟時(shí)間有關(guān)系。。。,在pandas 中也提供了關(guān)于時(shí)間的一些函數(shù),使用date_range 生成一系列時(shí)間。

>>> pd.date_range('01/01/2017',periods=365)
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
    '2017-01-05', '2017-01-06', '2017-01-07', '2017-01-08',
    '2017-01-09', '2017-01-10',
    ...
    '2017-12-22', '2017-12-23', '2017-12-24', '2017-12-25',
    '2017-12-26', '2017-12-27', '2017-12-28', '2017-12-29',
    '2017-12-30', '2017-12-31'],
    dtype='datetime64[ns]', length=365, freq='D')
>>>

之前我們的圖形不規(guī)則,有一個(gè)原因是數(shù)據(jù)不是連續(xù)的,使用cumsum讓數(shù)據(jù)連續(xù):

如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ts = pd.Series(np.random.randn(365), index=pd.date_range('01/01/2017',periods=365))
ts = ts.cumsum()
ts.plot()
plt.show()

DataFrame

DataFrame 相當(dāng)于Series 一維的一個(gè)擴(kuò)展,是一種二維的數(shù)據(jù)模型,相當(dāng)于EXcel表格中的數(shù)據(jù),有橫豎兩種坐標(biāo),橫軸很Series 一樣使用index,豎軸用columns 來(lái)確定,在建立DataFrame 對(duì)象的時(shí)候,需要確定三個(gè)元素:數(shù)據(jù),橫軸,豎軸。

df = pd.DataFrame(np.random.randn(8,6), index=pd.date_range('01/01/2018',periods=8),columns=list('ABCDEF'))
print df

數(shù)據(jù)如下:

     A   B   C   D   E   F
2018-01-01 0.712636 0.546680 -0.847866 -0.629005 2.152686 0.563907
2018-01-02 -1.292799 1.122098 0.743293 0.656412 0.989738 2.468200
2018-01-03 1.762894 0.783614 -0.301468 0.289608 -0.780844 0.873074
2018-01-04 -0.818066 1.629542 -0.595451 0.910141 0.160980 0.306660
2018-01-05 2.008658 0.456592 -0.839597 1.615013 0.718422 -0.564584
2018-01-06 0.480893 0.724015 -1.076434 -0.253731 0.337147 -0.028212
2018-01-07 -0.672501 0.739550 -1.316094 1.118234 -1.456680 -0.601890
2018-01-08 -1.028436 -1.036542 -0.459044 1.321962 -0.198338 -1.034822

在數(shù)據(jù)分析的過(guò)程中,很常見(jiàn)的一種情況是數(shù)據(jù)直接從excel 或者cvs 過(guò)來(lái),可以excel中讀取數(shù)據(jù)到DataFrame ,數(shù)據(jù)在 DataFrame 中進(jìn)行處理:

df = pd.read_excel('data.xlsx',sheet_name= 'Sheet1')
print df

同樣的有保存數(shù)據(jù)到excelto_excel。

處理cvs數(shù)據(jù)的函數(shù)是:read_cvsto_cvs ,處理HDF5的函數(shù)為 read_hdfto_hdf 。

訪問(wèn)DataFrame 可以跟二位數(shù)組一樣的訪問(wèn)方式:

print df['A']

帶出橫軸標(biāo)簽:

2018-01-01 0.712636
2018-01-02 -1.292799
2018-01-03 1.762894
2018-01-04 -0.818066
2018-01-05 2.008658
2018-01-06 0.480893
2018-01-07 -0.672501
2018-01-08 -1.028436

同樣的可以指定某一個(gè)元素:

print df['A']['2018-01-01']

對(duì)數(shù)組進(jìn)行切片出來(lái),認(rèn)清橫軸和縱軸:

>>> import pandas as pd
>>> df = pd.read_excel('data.xlsx',sheet_name= 'Sheet1')
>>> df[:][0:3]
     A   B   C   D   E   F
2018-01-01 0.712636 0.546680 -0.847866 -0.629005 2.152686 0.563907
2018-01-02 -1.292799 1.122098 0.743293 0.656412 0.989738 2.468200
2018-01-03 1.762894 0.783614 -0.301468 0.289608 -0.780844 0.873074
>>>

DataFrame 涉及的較多的函數(shù),接下來(lái)會(huì)有更多的介紹。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論