第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

pandas apply 與shift結(jié)合

pandas apply 與shift結(jié)合

小唯快跑啊 2023-12-26 16:22:16
我試圖找到每個時間間隔的貨幣相對變動。我有一個這樣的表:Date        USD_NOK EUR_USD EUR_NOK  2020-08-09  9.03267 1.17732 10.60526 2020-08-10  8.97862 1.17749 10.58188還有一個像這樣的函數(shù):def RelativeStrength(table):    f1 = table.iloc[0][2]    f2 = table.iloc[0][0]    t1 = table.iloc[1][2]    t2 = table.iloc[1][0]    n = pow(((f1*f2)/(t1*t2)),1/3)    n1 = t1 * (n/f1)    n2 = t2 * (n/f2)    return n, n1, n2然而,這些表包含數(shù)十年的數(shù)據(jù),其間隔比每天要短得多,而且我有很多這樣的數(shù)據(jù)。該函數(shù)需要在每一行上運(yùn)行,該行將與之前的行進(jìn)行比較。我可以通過 for 循環(huán)輕松完成此操作,但是對于我擁有的數(shù)據(jù)集來說,這可能需要幾天的時間。因此,我希望使用 apply 或類似的東西。我嘗試過這樣的事情:table.apply(lambda x: [x[0].shift()], axis=1, result_type='expand')希望得到這樣的結(jié)果,但我沒有:Date        USD_NOK EUR_USD EUR_NOK  NOK    USD    EUR2020-08-09  9.03267 1.17732 10.60526 1.0021 0.0876 0.99232020-08-10  8.97862 1.17749 10.58188 1.0027 1.0005 0.9967(2020-08-09 的結(jié)果是虛構(gòu)的,因?yàn)樗鼈內(nèi)Q于 2020-08-08 的外匯交叉盤,而我尚未發(fā)布)然而,似乎 apply 一次只查看一行。是否可以使用 apply 對每一行進(jìn)行計(jì)算,包括考慮之前的行?
查看完整描述

1 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個贊

由于您的所有操作(*、/和**)默認(rèn)情況下都具有內(nèi)置的向量化支持,因此我建議您直接進(jìn)行計(jì)算而不使用.apply().


df["f1_t1"] = df["EUR_NOK"].shift() / df["EUR_NOK"]  # f1 over t1

df["f2_t2"] = df["USD_NOK"].shift() / df["USD_NOK"]  # f2 over t2

df["NOK"] = (df["f1_t1"] * df["f2_t2"])**(1/3)

df["USD"] = df["NOK"] / df["f1_t1"]

df["EUR"] = df["NOK"] / df["f2_t2"]


# output

df

         Date  USD_NOK  EUR_USD  ...       NOK       USD       EUR

0  2020-08-09  9.03267  1.17732  ...       NaN       NaN       NaN

1  2020-08-10  8.97862  1.17749  ...  1.002740  1.000529  0.996740

請注意,創(chuàng)建的是可以多次重用的中間變量,而不是簡單的移位。這部分特定于您的公式。因此可以進(jìn)一步減少操作次數(shù)。


查看完整回答
反對 回復(fù) 2023-12-26
  • 1 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號