Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将一个数据帧分割成多个数据帧,并将其重新缝合成一个元组,而无需硬编码_Python_Pandas_Numpy - Fatal编程技术网

Python 如何将一个数据帧分割成多个数据帧,并将其重新缝合成一个元组,而无需硬编码

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

我正在按标识符列对数据帧进行切片,并使用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_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()