Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法匯總
創(chuàng)建Dataframe主要是使用pandas中的DataFrame函數(shù),其核心就是第一個(gè)參數(shù):data,傳入原始數(shù)據(jù),因此我們可以據(jù)此給出六種創(chuàng)建Dataframe的方法:(示例代碼環(huán)境:jupyter:python3.8)
一、字典類(lèi)
方法1:列表、數(shù)組或元組構(gòu)成的字典構(gòu)造Dataframe
直接上代碼:
import pandas as pd
import numpy as np
dic = {"a": [1, 2, 3, 4], #列表
"b": np.array([4, 5, 6, 7]), #數(shù)組
"c": (1, 2, 3, 4)} #元組
data = pd.DataFrame(dic) # 創(chuàng)建Dataframe
data運(yùn)行結(jié)果:

可以看到,一個(gè)新的數(shù)據(jù)框已經(jīng)創(chuàng)建成功了。系統(tǒng)默認(rèn)為我們生成了行索引,而列索引就是字典dic里的key,我們也可以在創(chuàng)建Dataframe時(shí)手動(dòng)指定行索引,只需修改參數(shù)index:
import pandas as pd
import numpy as np
dic = {
"a": [1, 2, 3, 4], # 列表
"b": np.array([4, 5, 6, 7]), # 數(shù)組
"c": (1, 2, 3, 4),
} # 元組
data = pd.DataFrame(dic, index=["一", "二", "三", "四"]) # 創(chuàng)建Dataframe
data運(yùn)行結(jié)果:

那么如果事后我們后悔了,覺(jué)得我們起的列索引的名字不好聽(tīng),怎么修改呢?只需修改Dataframe的columns屬性:
data.columns = ["A", "B", "C"] data
結(jié)果如下:

讀者也可以嘗試修改Dataframe的index屬性。
方法2:Series構(gòu)成的字典構(gòu)造Dataframe
import pandas as pd
import numpy as np
dic = {"a": pd.Series([1, 2, 3, 4]),
"b": pd.Series([4, 5, 6, 7])}
data = pd.DataFrame(dic) # 創(chuàng)建Dataframe
data運(yùn)行結(jié)果:

方法3:字典構(gòu)成的字典構(gòu)造Dateframe
import pandas as pd
import numpy as np
dic = {"a": {"一": 1, "二": 2},
"b": {"一": 10, "二": 20},
"c": {"一": 100, "二": 200}}
data = pd.DataFrame(dic) # 創(chuàng)建Dataframe
data運(yùn)行結(jié)果:

其中:外層的a,b,c這三個(gè)key作為了列索引,內(nèi)層的一,二作為了行索引。讀者可以嘗試為字典dic再添加一個(gè)元素:"d":{"一": 100},看看創(chuàng)建出來(lái)的Dataframe長(zhǎng)什么樣,這個(gè)結(jié)果會(huì)給你什么啟示?
二、列表類(lèi)
方法1:二維數(shù)組構(gòu)造Dataframe
import pandas as pd import numpy as np ls = np.arange(12).reshape(3, 4) # 創(chuàng)建二維數(shù)組 data = pd.DataFrame(ls) data
運(yùn)行結(jié)果:

方法2:字典列表構(gòu)造Dataframe
import pandas as pd
import numpy as np
ls = [{"一": 1, "二": 2},
{"一": 10, "二": 20},
{"一": 100, "二": 200}]
data = pd.DataFrame(ls)
data運(yùn)行結(jié)果:

可以看到,列表中的字典的key作為了列索引,這個(gè)就很像關(guān)系型數(shù)據(jù)庫(kù)里的字段和值。讀者要注意和字典類(lèi)中方法3的區(qū)別。
方法3:Series列表構(gòu)造Dataframe
import pandas as pd
import numpy as np
ls = [pd.Series([1, 2, 3, 4]),
pd.Series([4, 5, 6, 7])]
data = pd.DataFrame(ls)
data運(yùn)行結(jié)果:

三、小結(jié)
筆者為讀者提供了六種方法創(chuàng)建Dataframe,這里總結(jié)一下:
1.細(xì)心的讀者可能會(huì)發(fā)現(xiàn):
在字典類(lèi)中,字典最外層的key都作為了列索引,而值則作為某一行的值;
在列表類(lèi)中,列表的每一個(gè)元素都作為了某一行的值。
2.讀者需要在實(shí)際數(shù)據(jù)處理時(shí),根據(jù)處理數(shù)據(jù)的特點(diǎn)選擇合適的方式創(chuàng)建Dataframe。
到此這篇關(guān)于Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法的文章就介紹到這了,更多相關(guān)Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Python 釘釘報(bào)警必備知識(shí)系統(tǒng)講解
這篇文章主要介紹了淺談Python 釘釘報(bào)警必備知識(shí)系統(tǒng)講解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Python的Flask項(xiàng)目中獲取請(qǐng)求用戶(hù)IP地址 addr問(wèn)題
這篇文章主要介紹了Python的Flask項(xiàng)目中獲取請(qǐng)求用戶(hù)IP地址 addr問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
python獲取局域網(wǎng)占帶寬最大3個(gè)ip的方法
這篇文章主要介紹了python獲取局域網(wǎng)占帶寬最大3個(gè)ip的方法,涉及Python解析URL參數(shù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
基于樹(shù)莓派的語(yǔ)音對(duì)話(huà)機(jī)器人
這篇文章主要為大家詳細(xì)介紹了基于樹(shù)莓派的語(yǔ)音對(duì)話(huà)機(jī)器人,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
Python可變對(duì)象與不可變對(duì)象原理解析
這篇文章主要介紹了Python可變對(duì)象與不可變對(duì)象原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Python入門(mén)教程(十六)Python的if邏輯判斷分支
這篇文章主要介紹了Python入門(mén)教程(十六)Python的if邏輯判斷分支,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下2023-04-04
Python實(shí)現(xiàn)的HMacMD5加密算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的HMacMD5加密算法,簡(jiǎn)單說(shuō)明了HMAC-MD5加密算法的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)HMAC-MD5加密算法的相關(guān)操作技巧,,末尾還附帶了Java實(shí)現(xiàn)HMAC-MD5加密算法的示例,需要的朋友可以參考下2018-04-04
python批量telnet檢測(cè)IP地址的端口是否開(kāi)放
本文主要介紹了python批量telnet檢測(cè)IP地址的端口是否開(kāi)放,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

