我在get_dummies
上应用DataFrame
来生成虚拟变量。它会创建一个新的DataFrame
。如何更改原始DataFrame
?
这样可行,但还有更好的方法吗?
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 :(得分:1)
在您的代码中,您正在创建一个新数据框,然后从旧数据框中删除所有数据,然后将新数据放回旧数据框中。
您可以说:
而不是最后三行代码data = pd.get_dummies(data, columns = ['gender'])
get_dummies函数创建一个新的数据框并将其保存在旧数据框的位置。这在功能上与您的代码相同,但更容易理解。