這個問題有很大的機會被重複,但我還沒有找到答案。不過,我試圖將一個函數應用於熊貓DataFrame,並且我想要返回一個DataFrame。其次例子是重複性:python:如何從函數返回一個DataFrame或列表?
df = pd.DataFrame({'ID': ["1","2"],
'Start': datetime.strptime('20160701', '%Y%m%d'),
'End': datetime.strptime('20170701', '%Y%m%d'),
'Value': [100, 200],
'CreditNote': [-20, -30]})
我的功能:
def act_value_calc(x):
start_delta = (x.Start.replace(day=31,month=12) - x.Start).days
full_delta = (x.End - x.Start).days
result1 = round((x.Value + x.CreditNote)/full_delta * start_delta, 2)
result2 = round((x.Value + x.CreditNote) - result1, 2)
return(pd.DataFrame({'r1': [result1],'r2': [result2]}))
爲什麼我不能運行下面的代碼...
df.apply(act_value_calc, 1)
,應該怎麼做才能讓它運行?我的意思是獲得一個DataFrame或列表返回result1
和result2
?
啊是啊,這固得。 –
這就是我正在尋找的..謝謝! – Codutie