【问题标题】:How can I make one hot transformation permanent我怎样才能使一个热转换永久化
【发布时间】:2020-07-28 21:48:49
【问题描述】:

我的数据集中有 16 个分类变量。我想对其中一些单热应用 0-1 转换。

一个热门代码:df_one_hot =pd.get_dummies(df,columns = ["guardian"],prefix = ["guardian"]) df_one_hot.head()

0-1 代码:df["new_day"] =np.where(df["day"].str.contains("Sun"),1,0)

因为我有多个应用程序,所以我希望我所做的所有转换都是永久的。我将一个热应用于第一个数据。当我将它应用于第二个数据时,我发现我上面应用的不是永久的.如何对两种转换进行永久操作? inplace=True,这个功能没有

import pandas as pd 
df = pd.read_csv("../data/student-mat.csv", sep=';')
df
.
.
.
df_one_hot =pd.get_dummies(df,columns = ["reason"],prefix = ["reason"])
df_one_hot.head()
#I am doing the first conversion. But when I do it again for the second data, 
#the first conversion is not permanent.
df_one_hot =pd.get_dummies(df,columns = ["guardian"],prefix = ["guardian"])
df_one_hot.head()

【问题讨论】:

标签: python machine-learning scikit-learn data-science


【解决方案1】:

其实你不是对第二个数据再做,而是对第一个数据。

import pandas as pd 
df = pd.read_csv("../data/student-mat.csv", sep=';')

# pass "df" to pd.get_dummies()
df_one_hot = pd.get_dummies(df, columns=["reason"],prefix=["reason"])
df_one_hot.head()

# passed again "df" to pd.get_dummies()
df_one_hot = pd.get_dummies(df, columns=["guardian"], prefix=["guardian"])

## solution => pass the df_one_hot to pd.get_dummies
# df_one_hot = pd.get_dummies(df_one_hot, columns=["guardian"], prefix=["guardian"])

【讨论】:

  • 是的,这是真的。我现在如何保存这样的文件?
  • 您可以将其保存在 .csv 文件中,只需执行df_one_hot.to_csv("../data/student-mat-dummies.csv", sep=";")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 2022-10-14
相关资源
最近更新 更多