oe = OrdinalEncoder() for i in ['grade', 'subGrade']: tmp = oe.fit_transform(df[i].values.reshape(-1,1)) tmp = pd.DataFrame(tmp) tmp.columns = [i+'new'] df = pd.merge(df, tmp, how='left', left_index=True, right_index=True)
时间: 2024-04-15 16:26:19 浏览: 156
公路技术状况评价指标.docx
这段代码使用 OrdinalEncoder 对数据框 df 中的 'grade' 和 'subGrade' 列进行编码,并将编码后的结果添加到 df 中。首先,创建一个 OrdinalEncoder 对象 oe。然后,使用循环遍历 'grade' 和 'subGrade' 列。对于每个列,将其值重新整形为一列,并使用 oe 对其进行编码。编码后的结果以 DataFrame 的形式保存在 tmp 中。接下来,将 tmp 的列名改为原列名加上 'new' 后缀。最后,使用 pd.merge 将编码后的结果与原始数据框 df 进行左连接,并根据索引进行合并。
阅读全文