溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pandas庫怎么在python中進(jìn)行安裝

發(fā)布時間:2021-03-02 17:18:48 來源:億速云 閱讀:275 作者:Leah 欄目:開發(fā)技術(shù)

pandas庫怎么在python中進(jìn)行安裝?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

pandas 的安裝

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

pip install pandas

pandas 創(chuàng)建對象

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

Series

Series 像python中的數(shù)據(jù)list 一樣,每個數(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è)置索引值是一個從1到366的值。

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

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

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

pandas 本身跟 python的另外一個第三方庫Matplotlib 有很多的連接,Matplotlib 一個最經(jīng)常用到的是用來展示數(shù)據(jù)的,如果還對Matplotlib 不了解的話,后面的章節(jié)會進(jìn)行介紹,現(xiàn)在先拿過來直接用下,如果還沒有安裝的話,一樣的用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()

pandas庫怎么在python中進(jìn)行安裝

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

>>> 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ī)則,有一個原因是數(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()

pandas庫怎么在python中進(jìn)行安裝

DataFrame

DataFrame 相當(dāng)于Series 一維的一個擴(kuò)展,是一種二維的數(shù)據(jù)模型,相當(dāng)于EXcel表格中的數(shù)據(jù),有橫豎兩種坐標(biāo),橫軸很Series 一樣使用index,豎軸用columns 來確定,在建立DataFrame 對象的時候,需要確定三個元素:數(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ù)分析的過程中,很常見的一種情況是數(shù)據(jù)直接從excel 或者cvs 過來,可以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 。

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

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

同樣的可以指定某一個元素:

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

對數(shù)組進(jìn)行切片出來,認(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
>>>

看完上述內(nèi)容,你們掌握pandas庫怎么在python中進(jìn)行安裝的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI