我有一个像这样的数据框:
每天和机器有一行,我需要创建几个 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)
