Python数据处理:利用函数比较两列值再赋给新的一列

针对处理Excel数据时,比对两列值,选取较大者赋值给新的一列,通过定义函数的方法更简单直接!

def func_max(value01,value02):
    func_max = max(value01,value02)
    return func_max
df['value_new'] = df.apply(lambda x:func_max(x['value_0'],x['value_1']),axis=1) 

引用函数便能实现相应计算,value_0与value_1是DataFrame作为输入的两列值Serise。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何在Python中使用KNN算法处理Excel中的异常,我可以为您提供一些代码示例。 首先,您需要安装必要的Python库,包括pandas、numpy和sklearn。您可以使用以下命令在命令行中安装它们: ``` pip install pandas numpy scikit-learn ``` 然后,您需要加载您的Excel文件。假设您的Excel文件名为“data.xlsx”,并且两列异常数据位于最后两列,你可以使用以下代码来读取Excel文件: ```python import pandas as pd data = pd.read_excel("data.xlsx") X = data.iloc[:, :-2].values # 取出前面所有列 y = data.iloc[:, -2:].values # 取出最后两列 ``` 在这里,我们使用pandas库来读取Excel文件数据,并使用“iloc”函数分别分离出X和y。X包含第一列到倒数第三列,而y包含倒数第二列和最后一列。 接下来,您需要使用KNN算法来处理异常。您可以使用以下代码: ```python from sklearn.neighbors import KNeighborsRegressor import numpy as np n_neighbors = 5 # KNN最近邻数 model = KNeighborsRegressor(n_neighbors=n_neighbors) # 去掉异常 X_no_outliers = [] y_no_outliers = [] for i in range(len(X)): if not any(np.isnan(X[i])) and not any(np.isnan(y[i])): X_no_outliers.append(X[i]) y_no_outliers.append(y[i]) # 填补异常 X_with_outliers = [] y_with_outliers = [] for i in range(len(X)): if any(np.isnan(X[i])) or any(np.isnan(y[i])): X_with_outliers.append(X[i]) y_with_outliers.append(y[i]) # 预测填补异常 model.fit(X_no_outliers, y_no_outliers) y_predicted = model.predict(X_with_outliers) # 替换Excel中的异常 for i in range(len(y_with_outliers)): for j in range(len(y_with_outliers[i])): if np.isnan(y_with_outliers[i][j]): y_with_outliers[i][j] = y_predicted[i][j] # 保存结果 result = np.concatenate((X_no_outliers, y_no_outliers), axis=1) result = np.concatenate((result, y_with_outliers), axis=0) pd.DataFrame(result).to_excel("data_processed.xlsx", index=False, header=False) ``` 在这里,我们首先使用“KNeighborsRegressor”来创建KNN回归模型,K为5。接下来,我们删除包含异常的数据行,并将其分别存储在X_no_outliers和y_no_outliers列表中。然后,我们将包含异常的数据行存储在X_with_outliers和y_with_outliers列表中。我们使用模型在没有异常的数据集上进行训练,然后使用模型来预测包含异常的数据集。预测存储在y_predicted中。最后,我们将预测替换Excel中的异常,并将结果保存在“data_processed.xlsx”文件中。 希望这可以回答您的问题。如果您有其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值