Pandas DataFrame的6種建立方法

2021-09-27 04:11:58 字數 2800 閱讀 2465

pandas是python的資料分析利器,dataframe是pandas進行資料分析的基本結構,可以把dataframe視為乙個二維資料表,每一行都表示乙個資料記錄。本文將介紹建立pandas dataframe的6種方法。

建立pandas資料幀的六種方法如下:

學程式設計,上匯智網
首先我們看一下如何建立乙個空的dataframe(資料幀):

pd.dataframe(columns=['a', 'b', 'c'], index=[0,1,2])
columns引數用來定義列名,index引數用來定義行號。上面的**建立了乙個3行3列的二維資料表,結果看起來是這樣:

嗯,所有資料項都是nan。

接下來讓我們看看如何使用pd.dataframe手工建立乙個pandas資料幀:

使用data引數來宣告資料,結果看起來是這樣:

由於我們沒有定義資料幀的列名,因此pandas預設使用序號作為列名。和原來一樣,可以使用columns引數來宣告列名:

columns=['fruits'])

結果如下:

最左側的列被稱為索引,預設從0開始,和原來一樣我們用index自行定義:

index = [1,2,3,4,5],

columns=['fruits'])

現在的資料幀看起來是這樣:

那麼如果要新增乙個quantity列來表示水果數量該怎麼做?

['banana',10],

['cherry',8],

['dates',3],

['eggfruit',7]],

columns = ['fruits','quantity'],

index=[1,2,3,4,5])

注意data引數和colums引數都進行了相應的調整。現在的dataframe這樣:

學程式設計,上匯智網
假設我們有乙個列表:

要把列表轉換為dataframe,直接將列表傳入pd.dataframe即可:

pd.dataframe(fruits_list)
得到的資料幀結構如下:

當然你可以用columns引數來定義列名,或者用index來宣告行號:

pd.dataframe(fruits_list, 

columns = ['fruits'],

index = ['a','b','c','d','e'])

結果如下:

字典就是一組鍵/值對:

dict =
當我們將上述字典物件轉換為dataframe時,看起來是這樣:

容易注意到,欄位的鍵對應成為dataframe的列,而所有的值對應資料。

記住這個對應關係。

現在假設我們要建立乙個如下形狀的dataframe:

由於列名為fruits、quantity和color,因此對應的字典也應當

有這幾個鍵,而每一行的值則對應字典中的鍵值,字典應該是

如下的結構:

'quantity': [5, 10, 8, 3, 7],

'color': ['red', 'yellow', 'red', 'brown', 'yellow']}

現在讓我們將這個字典轉換為dataframe,一句話的事兒:

pd.dataframe(fruits_dict)
結果如下:

那麼可以使用下面的**將其轉換為pandas dataframe:

fruits = pd.read_excel('fruits.xlsx')
得到的資料幀看起來是這樣:

假設你有乙個csv檔案,例如「fruits.csv「,可以使用如下的**

將其轉換為dataframe:

fruits = pd.read_csv('fruits.csv')
也是一句話的事兒。

Pandas DataFrame用法總結

1 將某一列滿足條件的資料的所在行提取出來 df ori pd.read excel f ivf data data add yuejing time data arrange no null23.xlsx df new df ori df ori.iloc 2 0.6 將某一列滿足條件 0.6 的...

Pandas DataFrame常用方法

1 獲取列名 1.1.鍊錶推導式 語法 col for col in df 返回結果 cvr1 cvr2 cvr3 cvr4 結果型別 list 1.2.通過columns屬性 columns屬性返回index,columns.values屬性返回 numpy.ndarray,可通過 tolist ...

Pandas DataFrame 按行構建

當我們從複雜 提取出逐個樣本的特徵時,繼而構成一條樣本並組成訓練或測試集時,比較容易想到的一點就是一行一行地構建dataframe。而pandas.dataframe 容許的輸入有numpy ndarray structured or homogeneous dict,or dataframe這些 ...