带条件的Python分组

2024-06-16 12:15:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找解决以下问题的优雅方法

从包含15列和1250行化合物信息(1250种化合物)的数据框开始工作。一个名为“molecular_mass”的特定列中有一些数字,我想用它们作为句柄来创建包含100个化合物的组,其中组中每个化合物的“molecular_mass”数字不能在该组中任何其他数字的+/-1范围内

我正在执行以下操作,以获得100个随机分组,但这无助于我解决将“分子量”数字+/-1与组中任何其他数字分开的问题

import pandas as pd
    df=pd.read_csv('data.csv')
    df=df.sample(frac=1).reset_index(drop=TRUE)
    SIZE=100
    df['group']=df.index // SIZE
    groups=[
    df[df['group'] == num]
    for num in range (df['group'].max()+1)]

从data.csv添加一些示例行

^{tb1}$

data.csv的格式为(显示了6个最重要的列)


Tags: csv数据方法信息dfdatasizeindex