Python将文本值更改为数值输出
我目前有一个数据集,下面列出了一系列不同的列,表示“否”或“是”、“女性”或“男性”。我想将“否”和“雌性”更改为0,将“是”和“雄性”更改为1。我在下面附上了我要做的事情的图片。 代码没有出错,但我得到的输出如下。请帮忙Python将文本值更改为数值输出,python,jupyter-notebook,Python,Jupyter Notebook,我目前有一个数据集,下面列出了一系列不同的列,表示“否”或“是”、“女性”或“男性”。我想将“否”和“雌性”更改为0,将“是”和“雄性”更改为1。我在下面附上了我要做的事情的图片。 代码没有出错,但我得到的输出如下。请帮忙 Null=dF.isnull().any() 由于您有多个要修改变量的条件,因此可以使用np.select()函数指定这些选项的选项和输出。这类似于R的dplyr包中的case\u when()函数的工作方式 df.columns中col_name的: df[col_name
Null=dF.isnull().any()
由于您有多个要修改变量的条件,因此可以使用
np.select()
函数指定这些选项的选项和输出。这类似于R的dplyr包中的case\u when()
函数的工作方式
df.columns中col_name的:
df[col_name]=np.选择([df[col_name]==x代表x,在['No','Female','Yes','Male']],
[0 , 0 , 1 , 1 ])
Google“一个热编码”。它是将分类值转换为数值的过程。它有一个本机函数:
get\u dummies()
。见:
dF = dF.drop(["customerID", "gender", "SeniorCitizen", "Partner", "Dependents", "tenure", "PhoneService", "MultipleLines", "InternetService", "OnlineSecurity", "OnlineBackup", "DeviceProtection", "TechSupport", "StreamingTV", "StreamingMovies", "Contract", "PaperlessBilling", "PaymentMethod", "MonthlyCharges", "TotalCharges", "Churn"], axis=1)
for column in range(len(list(dF.columns.values))):
for index, row in dF.iterrows():
if "No" in row[column] or "Female" in row[column]:
dF.iloc[index, column] = 0
elif "Yes" in row[column] or "Male" in row[column]:
dF.iloc[index, column] = 1
dF.to_excel('Cleaned.xlsx', index=False)