您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Pandas的Series和DataFrame怎么創(chuàng)建”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Pandas是使用Python語(yǔ)言開發(fā)的用于數(shù)據(jù)處理和數(shù)據(jù)分析的第三方庫(kù)。它擅長(zhǎng)處理數(shù)字型數(shù)據(jù)和時(shí)間序列數(shù)據(jù),當(dāng)然文本型的數(shù)據(jù)也能輕松處理。 Pandas 可以處理的數(shù)據(jù)格式非常多,常見的數(shù)據(jù)文件格式都可以快速導(dǎo)入,比如 CSV、JSON、SQL、Microsoft Excel 導(dǎo)入數(shù)據(jù)。
Pandas 的主要數(shù)據(jù)結(jié)構(gòu)有兩種,分別是: Series (一維數(shù)據(jù))與 DataFrame(二維數(shù)據(jù));所以后面的內(nèi)容也是圍繞著這兩部門展開的;
似于一維數(shù)組的對(duì)象,它由一組數(shù)據(jù)(各種Numpy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。即:Series 與Numpy 數(shù)組基本是一樣的,只不過(guò)多了數(shù)據(jù)標(biāo)簽(索引);
Series 格式: pandas.Series( data, index, dtype, name, copy)
參數(shù)說(shuō)明:
參數(shù) | 解釋說(shuō)明 |
---|---|
data | 一組數(shù)據(jù)(ndarray 類型) ,即Numpy數(shù)據(jù); |
index | 數(shù)據(jù)索引標(biāo)簽,如果不指定,默認(rèn)從 0 開始。 |
dtype | 數(shù)據(jù)類型,默認(rèn)會(huì)自己判斷。 |
name | 設(shè)置名稱。(不常用) |
copy | 拷貝數(shù)據(jù),默認(rèn)為 False。(不常用) |
Series 舉例:
import pandas as pd a = ['x','y','z'] b = [1,2,3] mynum1 = pd.Series(b) print(mynum1) # 0 1 # 1 2 # 2 3 mynum2 = pd.Series(b,index=a) print(mynum2) # x 1 # y 2 # z 3 # dtype: int64 mynum3 = pd.Series(b,index=a,dtype=float) print(mynum3) # x 1.0 # y 2.0 # z 3.0 # dtype: float64
注意事項(xiàng):
一般情況下,當(dāng)我們導(dǎo)入pandas的時(shí)候,都會(huì)將Pandas重命名為pd(因?yàn)榇蠹叶歼@么做;)
當(dāng)不指定index時(shí),會(huì)默認(rèn)index是一個(gè)從0開始的整數(shù)數(shù)組,即:0,1,2....;例如:上例中的mynum1;
當(dāng)不指定dtype時(shí),pandas會(huì)自己判斷一個(gè)最合適的數(shù)據(jù)類型;例如:上例中的mynum2;
也可以自己指定index與dtype, 這樣pandas會(huì)按照我們指定的數(shù)據(jù)生成;例如:上例中的mynum3;
類似于二維數(shù)組的對(duì)象,是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型值)。DataFrame 既有行索引也有列索引;可以當(dāng)作是許多個(gè)共用同一個(gè)索引的Series組成的數(shù)據(jù)結(jié)構(gòu);DataFrame 圖解如下:
上圖所表示的就是一個(gè)由n 個(gè)Series組成的DataFrame; 所有的Series 共享同一個(gè)Index ;
DataFrame 格式:pandas.DataFrame( data, index, columns, dtype, copy)
參數(shù)說(shuō)明:
參數(shù) | 解釋說(shuō)明 |
---|---|
data | 一組數(shù)據(jù)(ndarray 類型) ,即Numpy數(shù)據(jù); |
index | 數(shù)據(jù)索引標(biāo)簽,也可稱為行標(biāo)簽 |
columns | 數(shù)據(jù)列標(biāo)簽,如果不指定,默認(rèn)從 0 開始。也可稱為列標(biāo)簽。 |
dtype | 數(shù)據(jù)類型,默認(rèn)會(huì)自己判斷。 |
copy | 拷貝數(shù)據(jù),默認(rèn)為 False。(不常用) |
不指定Index的時(shí)候,用單個(gè)數(shù)值只能創(chuàng)建一個(gè)元素的Series;
mySer = pd.Series(2) print(mySer) # 0 2 # dtype: int64
通過(guò)指定Index 可以生成多個(gè)相同元素的Series,舉例如下:
mySer = pd.Series(2,index=range(3)) print(mySer) # 0 2 # 1 2 # 2 2 # dtype: int64
當(dāng)不指定Index的時(shí)候,會(huì)默認(rèn)生成RangeIndex(start=0, stop=n-1, step=1)
的Index; 舉例如下:
lis = [3,4,5] mySer = pd.Series(lis) print(mySer) # 0 3 # 1 4 # 2 5 # dtype: int64 print(mySer.index) # RangeIndex(start=0, stop=3, step=1) print(mySer.values) # [3 4 5]
也可以指定Index, 舉例如下:
lis = [3,4,5] ind = ["馬里奧","路易吉","林克"] mySer = pd.Series(lis,index=ind) print(mySer) # 馬里奧 3 # 路易吉 4 # 林克 5 # dtype: int64 print(mySer.index) # Index(['馬里奧', '路易吉', '林克'], dtype='object') print(mySer.values) # [3 4 5]
dic = {'馬里奧':3,'路易吉':4,'林克':5} mySer = pd.Series(dic) print(mySer) # 馬里奧 3 # 路易吉 4 # 林克 5 # dtype: int64 print(mySer.index) # Index(['馬里奧', '路易吉', '林克'], dtype='object') print(mySer.values) # [3 4 5]
array = np.array([0, 1, 2, 3]) mySer = pd.Series(array) print(mySer) # 0 0 # 1 1 # 2 2 # 3 3 # dtype: int32 print(mySer.index) # RangeIndex(start=0, stop=4, step=1) print(mySer.values) # [0 1 2 3]
dict1 = {'馬里奧':[2,3,4],'路易吉':[5,6,7],'林克':[8,9,0]} df = pd.DataFrame(dict1,index=["英雄%s"%i for i in range(1,4)]) print(df) # 馬里奧 路易吉 林克 # 英雄1 2 5 8 # 英雄2 3 6 9 # 英雄3 4 7 0
ser1 = pd.Series(np.arange(0,5,1)) ser2 = pd.Series(np.arange(5,10,1)) df = pd.DataFrame({'A':ser1,'B':ser2}) print(df) # A B # 0 0 5 # 1 1 6 # 2 2 7 # 3 3 8 # 4 4 9
arr = np.arange(9).reshape(3,3) df = pd.DataFrame(arr,columns=['A','B','C'],index=['IN1','IN2','IN3']) print(df) # A B C # IN1 0 1 2 # IN2 3 4 5 # IN3 6 7 8
lis1=[1,2,3] lis2=[2,3,4] df = pd.DataFrame({'A':lis1,'B':lis2},index=['IN1','IN2','IN3']) print(df) # A B # IN1 1 2 # IN2 2 3 # IN3 3 4
“Pandas的Series和DataFrame怎么創(chuàng)建”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。