[英]Python Changing Textual Values to Numerical Values Output
我目前有一个数据集,其中包含下面列出的一堆不同列,分别表示“否”或“是”、“女性”或“男性”。 我想将“否”和“女性”更改为 0,将“是”和“男性”更改为 1。我在下面包含了我正在尝试做的事情的图片。 代码没有出错,但我得到的 output 在下面。 请帮忙!
Null = dF.isnull().any()
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)
由于您有多个要修改变量的条件,因此可以使用np.select()
function 来指定这些选项的选项和输出。 这类似于case_when()
function 在 R 的 dplyr package 中的工作方式。
for col_name in df.columns:
df[col_name] = np.select([df[col_name] == x for x in ['No','Female','Yes','Male']],
[0 , 0 , 1 , 1 ])
https://numpy.org/doc/stable/reference/generated/numpy.select.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.