1 回答

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
我知道如何解決這個(gè)問題。
我定義的函數(shù)應(yīng)該返回一個(gè)新的數(shù)據(jù)框,因?yàn)槲野唇M聚合數(shù)據(jù)并且在這種情況下需要一個(gè)新的數(shù)據(jù)框。
如果我不放回報(bào),熊貓只會(huì)做聚合,因此你的輸出將是'__'
*** Create Dummy variables
df['Dummy']=np.where(df.Sales.notnull(),1,0)
*** Def a function
def Newdummygenerator(x):
for i in range(len(x)):
if x.iloc[i,x.columns.get_loc('Dummy')]==1:
x.iloc[i,x.columns.get_loc('Dummy')]=1
elif x.iloc[i,x.columns.get_loc('Dummy')]==0 and\ sum(x.Dummy[i:])>=1 and sum(x.Dummy[0:i])>=1:
x.iloc[i,x.columns.get_loc('Dummy')]=1
else:
x.iloc[i,x.columns.get_loc('Dummy')]=0
return x
上面定義的函數(shù)可以插入到 apply() 函數(shù)中
df.groupby().apply(Newdummygenerator)
添加回答
舉報(bào)