python处理含重复值的实验数据

该博客介绍了如何使用Pandas库对数据进行分组,并通过过滤logD值的最大值与最小值差距超过30%的记录来清洗数据。之后,利用平均值对Smiles(InChiKey)进行去重操作,从而得到精简且平均化的数据集。
摘要由CSDN通过智能技术生成

项目场景:

师妹有这样一张表:
在这里插入图片描述
希望能按inchikey进行分组,然后删除掉logD最大值最小值数据相差超过百分之三十的数据,对剩下的数据进行取平均数的方法进行去重

解决方案:

import pandas as pd

data = pd.read_csv("xxxxxxxxx")

#删除浮动超过百分之30的数据
data_valid = data.groupby(
  	["Smiles (InChiKey)"], as_index=False).filter(
	lambda x:max(x.logD.values) - min(x.logD.values) <= 0.3 * min(x.logD.values))

#利用平均值去重
result = data_valid.groupby(
	["Smiles (InChiKey)"], as_index=False).agg({
    	"Smiles (InChi)": lambda x: x.iloc[0],
    	"Smiles": lambda x: x.iloc[0],
    	"logD": 'mean'})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值