使用Pandas添加新列到資料框 - 6個機器學習技巧
目錄
- 介紹
- 使用Python列表添加列
- 使用insert函數添加列
- 使用assign函數添加列
- 結論
- FAQ
- 資源
介紹
在這個視頻中,我們將學習如何使用Pandas將列添加到數據框。添加列是數據清理和準備過程中的常見任務,並且在進行數據分析時非常有用。我們將探討三種常用的方法來實現這一目標。
使用Python列表添加列
首先,我們將使用Python列表來添加列。這是最簡單的方法之一,特別適用於數據集較小的情況。您只需創建一個包含要添加到數據框的值的列表,然後將其分配給新的列。以下是代碼示例:
import pandas as pd
# 創建原始數據框
df = pd.DataFrame({'Name': ['John', 'Alice', 'Bob'],
'Age': [25, 30, 35]})
# 創建要添加的列
gender = ['Male', 'Female', 'Male']
# 將列表分配給新列
df['Gender'] = gender
# 查看數據框
print(df)
輸出結果如下:
Name Age Gender
0 John 25 Male
1 Alice 30 Female
2 Bob 35 Male
這種方法非常簡單,但是需要確保列表中的元素數量與數據框的行數相同。
使用insert函數添加列
第二種方法是使用insert
函數在指定位置添加列。這使我們可以將新列插入到數據框中的任何位置,而不僅僅是添加到末尾。以下是代碼示例:
import pandas as pd
# 創建原始數據框
df = pd.DataFrame({'Name': ['John', 'Alice', 'Bob'],
'Age': [25, 30, 35]})
# 使用insert函數添加列
df.insert(1, 'Gender', ['Male', 'Female', 'Male'])
# 查看數據框
print(df)
輸出結果如下:
Name Gender Age
0 John Male 25
1 Alice Female 30
2 Bob Male 35
在這個例子中,我們將新的Gender
列插入到Age
列之前(位置1),並將相應的值分配給該列。
使用assign函數添加列
第三種方法是使用assign
函數創建一個新的數據框,並將新列添加到該數據框中。這種方法非常有彈性,尤其適用於需要保留原始數據框的情況。以下是代碼示例:
import pandas as pd
# 創建原始數據框
df = pd.DataFrame({'Name': ['John', 'Alice', 'Bob'],
'Age': [25, 30, 35]})
# 使用assign函數添加列
df2 = df.assign(Gender=['Male', 'Female', 'Male'])
# 查看新數據框
print(df2)
輸出結果如下:
Name Age Gender
0 John 25 Male
1 Alice 30 Female
2 Bob 35 Male
這裡,我們創建了一個新的數據框df2
,並將新列Gender
添加到該數據框中。原始數據框df
保持不變。
結論
通過本視頻,我們學會了三種常用的方法來添加列到Pandas數據框中。使用Python列表是最簡單的方法之一,但行數需要相符。使用insert
函數可以在指定位置添加列,這在需要特定列位置的情況下很有用。使用assign
函數可以創建一個新的數據框,並添加新列,同時保留原始數據框。
常見問題解答(FAQ)
問題:如何從數據框中刪除列?
答:您可以使用drop
函數或del
語句來刪除列。例如,使用df.drop('列名', axis=1)
來刪除一列,使用del df['列名']
也可以刪除一列。
問題:如何重命名數據框的列名?
答:您可以使用rename
函數來重命名列名。例如,使用df.rename(columns={'原始列名': '新列名'})
來重命名列。
問題:如何在數據框中計算新的列?
答:您可以使用現有列計算新的列。例如,使用df['新列名'] = df['列1'] + df['列2']
來將列1
和列2
相加並將結果存儲在新列
中。
資源