0

我有一个像这样的数据框:

在此处输入图像描述

每天和机器有一行,我需要创建几个 numpy 数组,只包含每个 PCSN 每一列中的数据。

我已经创建了这个函数,但我需要 5 分钟才能得到结果。而且我认为在 pandas 中还有其他更快地创建这个数组的解决方案。我尝试使用 groupby,但我无法获得正确的结果。

def create_array(df,metrics):
    
    salida = []
    serial = [] # Save the serial number know which it is
    
    pbar = tqdm(total=len(df.PCSN.unique()))
    
    for numero in df.PCSN.unique():
        pbar.update(1)
        
        if len(df[metrics][df['PCSN']==numero].values)>256:
            inter = df[metrics][df['PCSN']==numero].values[-256:]   # get last 256 to create a figure 16*16
            salida.append(inter)
            serial.append(numero)
    print('Done for'+ metrics)
    pbar.close()
    return salida,serial

谢谢你的时间 ;)

我终于用 groupby 找到了解决方案,解决方案可能是

test = df.groupby('PCSN')['PrimDoseCal_6xFFF'].apply(list)

4

0 回答 0