Python中特征(列)重复的删除法-equals

该博客介绍了如何使用Python进行特征去重,通过定义一个名为FeatureEquals的函数,该函数遍历数据框的列对,比较它们是否相等。结果_v2是包含所有列对比较结果的数据框,用于识别重复列。之后,通过两层循环找出重复的列,并将它们存储在dupCol列表中。这种方法对于数据预处理和清理非常有用,特别是当处理大型数据集时。
摘要由CSDN通过智能技术生成

# 特征去重--equals

# 检测重复列的函数
def  FeatureEquals(df):
    dfEquals = pd.DataFrame([],columns=df.columns,index=df.columns)  # 生成列的表
    for i in df.columns:
        for j in df.columns:
            dfEquals.loc[i,j] = df.loc[:,i].equals(df.loc[:,j])   # 检测重复
    return  dfEquals

result_v2 = FeatureEquals(use_df)
print(result_v2)

# 筛选出重复列的方法

lenDet = result_v2.shape[0]
print(lenDet)
dupCol = []
for k in range(lenDet):
    for l in range(k+1,lenDet):

        # 判断哪个列重复
        if  result_v2.iloc[k,l] & (result_v2.columns[l] not in dupCol):
            dupCol.append(result_v2.columns[l])

print(dupCol)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值