如何在 Pandas DataFrame 中新增標題行?
Pandas 是 Python 中一個非常流行的資料處理和操作庫,經常用於資料分析和資料預處理。Pandas 庫具有一個強大的資料結構,稱為 Pandas DataFrame,用於儲存任何型別的二維資料。在這篇文章中,我們將學習各種向 Pandas DataFrame 新增標題行(或簡稱列名)的方法。
注意 − 本文中程式碼已在 Jupyter Notebook 上測試。
我們將看到五種新增標題行的方法:
使用字典建立 DataFrame 時新增標題行
使用列表的列表建立 DataFrame 時新增標題行
建立 DataFrame 後新增標題行
從 CSV 檔案讀取檔案時新增標題行
使用 set_axis 方法新增標題行
讓我們從匯入 Pandas 開始
import pandas as pd
方法 1:使用字典建立 DataFrame 時
示例
# Add header row while creating the dataframe through a dictionary
data = {'course': ['Math', 'English', 'History', 'Science', 'Physics'], 'instructor': ['John Smith', 'Sarah Johnson', 'Mike Brown', 'Karen Lee', 'David Kim'], 'batch_size': [43, 25, 19, 51, 48]
}
df1 = pd.DataFrame(data)
df1
輸出
course instructor batch_size 0 Math John Smith 43 1 English Sarah Johnson 25 2 History Mike Brown 19 3 Science Karen Lee 51 4 Physics David Kim 48
在上面的程式碼中,我們透過字典初始化 DataFrame 的虛擬資料。鍵值對分別表示列名和列資料。Pandas 自動讀取此字典,並能夠生成包含標題行的列。
方法 2:使用列表的列表建立 DataFrame 時
示例
# Add header row while creating the dataframe through lists data = [['apple', 'red', 5], ['banana', 'yellow', 12]] columns = ['fruit', 'color', 'quantity'] df2 = pd.DataFrame(data, columns=columns) df2
輸出
fruit color quantity 0 apple red 5 1 banana yellow 12
在此方法中,我們有一個列表的列表,其中每個子列表儲存 DataFrame 行的資訊。我們建立一個列名列表,並在初始化 DataFrame 時將其傳遞給 pd.DataFrame 方法。
方法 3:建立 DataFrame 後
示例
# Add header row after creating the dataframe data = [['apple', 'red', 5], ['banana', 'yellow', 12]] columns = ['fruit', 'color', 'quantity'] df3 = pd.DataFrame(data) df3.columns = columns df3
輸出
fruit color quantity 0 apple red 5 1 banana yellow 12
在上面的程式碼中,我們首先初始化一個沒有任何標題行的 DataFrame。然後,我們初始化一個我們想要使用的列名列表,並使用 pd.DataFrame.columns 屬性設定已定義的 Pandas DataFrame 的標題行。
方法 4:從 CSV 檔案讀取檔案時
示例
嘗試使用 Pandas 讀取 CSV 檔案時,它會自動將第一行視為列名。但是,我們的資料集中可能不存在列名,如下面的示例所示。假設資料集儲存為“course_data.csv”。
# Incorrect header row
df4 = pd.read_csv('course_data.csv')
df4
輸出
Math John Smith 43 0 English Sarah Johnson 25 1 History Mike Brown 19 2 Science Karen Lee 51 3 Physics David Kim 48
輸出顯示 Pandas 將資料樣本解釋為標題行。為了解決這個問題,我們將透過“names”引數傳遞標題行名稱列表來指定列名。
示例
# Add header row while reading files from CSV
columns = ['course', 'instructor', 'batch_size']
df4 = pd.read_csv('course_data.csv', names=columns)
df4
輸出
course instructor batch_size 0 Math John Smith 43 1 English Sarah Johnson 25 2 History Mike Brown 19 3 Science Karen Lee 51 4 Physics David Kim 48
如上輸出所示,Pandas 不再將第一個資料樣本讀取為標題行!
方法 5:使用 set_axis 方法
示例
我們已經看到了如何在方法 2 中向現有 DataFrame 新增標題行。現在我們將使用 pd.DataFrame.set_axis 方法實現相同的功能。
# Add row row after creating the dataframe using set_axis data = [['dog', 'brown', 4], ['cat', 'white', 4], ['chicken', 'white', 2]] df5 = pd.DataFrame(data) columns = ['animal', 'color', 'num_legs'] df5.set_axis(columns, axis=1, inplace=True) df5
輸出
animal color num_legs 0 dog brown 4 1 cat white 4 2 chicken white 2
這裡,我們首先使用上面的資料初始化一個沒有任何標題行的 DataFrame。然後,我們使用 set_axis 方法新增標題行。我們將 axis=1 傳遞以指定我們正在設定列名。我們還將標誌“inplace”設定為 True 以進行就地操作。
注意 − 設定 axis = 0 將設定行名而不是列名,並且還可能引發錯誤,因為通常行數多於列數。
結論
本文教我們如何在 Pandas 中向 DataFrame 新增標題。我們看到了五種不同的方法,這些方法可以用於各種不同的應用程式和專案。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP