Python 如何将一个数据帧分割成多个数据帧,并将其重新缝合成一个元组,而无需硬编码
我正在按标识符列对数据帧进行切片,并使用for loop和globals()创建子集数据帧。最后,我将所有切片的数据帧组合成一个元组。正如您所看到的,元组创建部分是手动的,但是我需要将代码扩展到更大的数据集,不能手动执行,并且希望将此步骤添加到for循环中,以便在一个步骤中拥有tup,而无需我键入“tup=(TT_a,TT_b,TT_c,TT_d,TT_e)”。我只需要输出,所以请建议实现它的任何方法,不需要使用globals() %谁Python 如何将一个数据帧分割成多个数据帧,并将其重新缝合成一个元组,而无需硬编码,python,pandas,numpy,Python,Pandas,Numpy,我正在按标识符列对数据帧进行切片,并使用for loop和globals()创建子集数据帧。最后,我将所有切片的数据帧组合成一个元组。正如您所看到的,元组创建部分是手动的,但是我需要将代码扩展到更大的数据集,不能手动执行,并且希望将此步骤添加到for循环中,以便在一个步骤中拥有tup,而无需我键入“tup=(TT_a,TT_b,TT_c,TT_d,TT_e)”。我只需要输出,所以请建议实现它的任何方法,不需要使用globals() %谁 TT_a TT_b TT_c TT_d
TT_a TT_b TT_c TT_d TT_e TT_f d df i
identifier loc pd
首先,请不要像那样使用
globals
使用字典:
d={}
for i in df['identifier'].unique():
if len(df.loc[df['identifier'] == i,'identifier']) > 1:
d['TT_%s' % i] = df.loc[df['identifier'] == i, ['loc','identifier']].reset_index()
首先,请不要像那样使用
globals
使用字典:
d={}
for i in df['identifier'].unique():
if len(df.loc[df['identifier'] == i,'identifier']) > 1:
d['TT_%s' % i] = df.loc[df['identifier'] == i, ['loc','identifier']].reset_index()
@anky_91与当前for循环一起执行,执行后创建TT_+标识符,并通过标识符值创建多个数据帧。运行一个神奇的命令%who,我可以看到这6个dfs被创建,我的最后一步是键入它们的所有名称,并将它们封装在括号中,以创建一个包含所有这些名称的元组。问题是,我需要将其扩展到更大的数据集,因此无法键入它们来创建最终的元组。您不能只收集列表中的子数据帧,而不给它们单独的名称吗
alist.append(…)
是构建列表的一种很好的方法。@anky\u 91使用当前for循环,在执行后创建TT\uu+标识符,并通过标识符值创建多个数据帧。运行一个神奇的命令%who,我可以看到这6个dfs被创建,我的最后一步是键入它们的所有名称,并将它们封装在括号中,以创建一个包含所有这些名称的元组。问题是,我需要将其扩展到更大的数据集,因此无法键入它们来创建最终的元组。您不能只收集列表中的子数据帧,而不给它们单独的名称吗alist.append(…)
是一种构建列表的好方法。
d={}
for i in df['identifier'].unique():
if len(df.loc[df['identifier'] == i,'identifier']) > 1:
d['TT_%s' % i] = df.loc[df['identifier'] == i, ['loc','identifier']].reset_index()