繁体   English   中英

Python 将文本值更改为数值 Output

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM