2016-02-18 22 views
1

我在我的DataFrame上應用get_dummies來生成虛擬變量。它創建一個新的DataFrame。我怎樣才能改變我原來的DataFrame呢?如何讓get_dummies工作到位?

這有效,但有沒有更好的方法?

import pandas as pd 
data = pd.DataFrame({'gender': [ 'female', 'male']}) 
data1 = pd.get_dummies(data, columns = ['gender']) 
# data is still unchanged 
data.drop(data.columns, inplace=True, axis=1) 
data[data1.columns] = data1 

回答

0

在您的代碼中,您正在創建一個新的數據框,然後從舊數據框中刪除所有數據,然後將新數據放回舊數據框。

而不是你的最後三個行代碼,你可以說:

data = pd.get_dummies(data, columns = ['gender']) 

的get_dummies函數創建一個新的數據框,並在舊的地方保存它。這在功能上與您的代碼相同,但它更容易理解。