Python Pandas Groupby apply经过多次评估

Python Pandas Groupby apply经过多次评估,python,pandas,numpy,dataframe,group-by,Python,Pandas,Numpy,Dataframe,Group By,我正在使用group by apply,在apply的函数中,我正在创建一个csv。然而,由于我在某个地方读到groupby被评估了很多次,我得到了相同数据的多个CSV。我该如何阻止这种情况发生 alerts = evening_data.groupby([identification, name, age, address]).apply(master, args='F').reset_index(drop=Tr

我正在使用group by apply,在apply的函数中,我正在创建一个csv。然而,由于我在某个地方读到groupby被评估了很多次,我得到了相同数据的多个CSV。我该如何阻止这种情况发生

alerts = evening_data.groupby([identification, name, age,
                                         address]).apply(master, args='F').reset_index(drop=True)

def master(data, f):
    data.to_csv('test.csv')

我有时会得到两个test.csv文件。其他时候不会

我认为有可能使用:

for i, d in evening_data.groupby([identification, name, age,address]):
    master(d, 'F')
另外,按组更改文件名也很好,例如:

def master(data, f):
    name = '{0[0]}{0[1]}{0[2]}{0[3]}'.format(data.index[0]) + '_test.csv'
    file_path = os.path.join(os.pardir, name)
    data.to_csv(file_path)

我相信这是可能的用途:

for i, d in evening_data.groupby([identification, name, age,address]):
    master(d, 'F')
另外,按组更改文件名也很好,例如:

def master(data, f):
    name = '{0[0]}{0[1]}{0[2]}{0[3]}'.format(data.index[0]) + '_test.csv'
    file_path = os.path.join(os.pardir, name)
    data.to_csv(file_path)

杜普:这是故意的。你到底想在这里干什么?您似乎只是对df进行排序,然后将组写入csv。您可以尝试分离alters的定义,然后应用函数,而不是将两者连接起来。我在这些函数中做了很多工作,但我将它们删除了,这样我就可以解决问题了:这是出于设计。你到底想在这里干什么?您似乎只是对df进行排序,然后将组写入csv。您可以尝试分离alters的定义,然后应用函数,而不是将两者连接起来。我在这些函数中做了很多工作,但我将它们删除,以便解决问题