Python Pandas Groupby apply经过多次评估
我正在使用group by apply,在apply的函数中,我正在创建一个csv。然而,由于我在某个地方读到groupby被评估了很多次,我得到了相同数据的多个CSV。我该如何阻止这种情况发生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
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的定义,然后应用函数,而不是将两者连接起来。我在这些函数中做了很多工作,但我将它们删除,以便解决问题