Python Pandas創建Dataframe數據框的六種方法匯總
創建Dataframe
主要是使用pandas
中的DataFrame
函數,其核心就是第一個參數:data
,傳入原始數據,因此我們可以據此給出六種創建Dataframe
的方法:(示例代碼環境:jupyter:python3.8)
一、字典類
方法1:列表、數組或元組構成的字典構造Dataframe
直接上代碼:
import pandas as pd import numpy as np dic = {"a": [1, 2, 3, 4], #列表 "b": np.array([4, 5, 6, 7]), #數組 "c": (1, 2, 3, 4)} #元組 data = pd.DataFrame(dic) # 創建Dataframe data
運行結果:
可以看到,一個新的數據框已經創建成功瞭。系統默認為我們生成瞭行索引,而列索引就是字典dic
裡的key
,我們也可以在創建Dataframe
時手動指定行索引,隻需修改參數index
:
import pandas as pd import numpy as np dic = { "a": [1, 2, 3, 4], # 列表 "b": np.array([4, 5, 6, 7]), # 數組 "c": (1, 2, 3, 4), } # 元組 data = pd.DataFrame(dic, index=["一", "二", "三", "四"]) # 創建Dataframe data
運行結果:
那麼如果事後我們後悔瞭,覺得我們起的列索引的名字不好聽,怎麼修改呢?隻需修改Dataframe
的columns
屬性:
data.columns = ["A", "B", "C"] data
結果如下:
讀者也可以嘗試修改Dataframe
的index
屬性。
方法2:Series構成的字典構造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) # 創建Dataframe data
運行結果:
方法3:字典構成的字典構造Dateframe
import pandas as pd import numpy as np dic = {"a": {"一": 1, "二": 2}, "b": {"一": 10, "二": 20}, "c": {"一": 100, "二": 200}} data = pd.DataFrame(dic) # 創建Dataframe data
運行結果:
其中:外層的a,b,c
這三個key
作為瞭列索引,內層的一,二
作為瞭行索引。讀者可以嘗試為字典dic
再添加一個元素:"d":{"一": 100}
,看看創建出來的Dataframe
長什麼樣,這個結果會給你什麼啟示?
二、列表類
方法1:二維數組構造Dataframe
import pandas as pd import numpy as np ls = np.arange(12).reshape(3, 4) # 創建二維數組 data = pd.DataFrame(ls) data
運行結果:
方法2:字典列表構造Dataframe
import pandas as pd import numpy as np ls = [{"一": 1, "二": 2}, {"一": 10, "二": 20}, {"一": 100, "二": 200}] data = pd.DataFrame(ls) data
運行結果:
可以看到,列表中的字典的key
作為瞭列索引,這個就很像關系型數據庫裡的字段和值。讀者要註意和字典類中方法3的區別。
方法3:Series列表構造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
運行結果:
三、小結
筆者為讀者提供瞭六種方法創建Dataframe
,這裡總結一下:
1.細心的讀者可能會發現:
在字典類中,字典最外層的key
都作為瞭列索引
,而值
則作為某一行的值;
在列表類中,列表的每一個元素都作為瞭某一行的值。
2.讀者需要在實際數據處理時,根據處理數據的特點選擇合適的方式創建Dataframe
。
到此這篇關於Python Pandas創建Dataframe數據框的六種方法的文章就介紹到這瞭,更多相關Python Pandas創建Dataframe數據框內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python Pandas學習之Pandas數據結構詳解
- pandas對齊運算的實現示例
- Pandas數據結構詳細說明及如何創建Series,DataFrame對象方法
- Python數據分析 Pandas Series對象操作
- Python Pandas 中的數據結構詳解