亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何將 Pandas DataFrame 中的值與前一行和前一列中的值進行比較?

如何將 Pandas DataFrame 中的值與前一行和前一列中的值進行比較?

白板的微信 2023-04-11 15:52:43
我有一個由兩列填充浮點值的數據框。我需要在當前“h”值之前的索引處計算“h”的所有值減去“c”的所有值。因此,例如,對于第 1 行中的“h”,我需要計算 1.17322 - 1.17285(上一行中“c”的值)我嘗試了幾種不同的方法來完成此操作,包括使用:.iloc、. shift()、.groupby() 和 .diff(),但我無法準確找到我要查找的內容。如果有人可以提供幫助,將不勝感激    c        h0   1.17285  1.173101   1.17287  1.173222   1.17298  1.173403   1.17346  1.173484   1.17478  1.175115   1.17595  1.177006   1.17508  1.176337   1.17474  1.175458   1.17463  1.175469   1.17224  1.1746810  1.17437  1.1745611  1.17552  1.1764112  1.17750  1.1778413  1.17694  1.17770
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

嘗試使用shift, 例如:

df['c_shift'] = df['c'].shift()

df['diff'] = df['h'] - df['c_shift']

print(df)

輸出:


? ? ? ? ? c? ? ? ? h? c_shift? ? ?diff

0? ?1.17285? 1.17310? ? ? NaN? ? ? NaN

1? ?1.17287? 1.17322? 1.17285? 0.00037

2? ?1.17298? 1.17340? 1.17287? 0.00053

3? ?1.17346? 1.17348? 1.17298? 0.00050

4? ?1.17478? 1.17511? 1.17346? 0.00165

5? ?1.17595? 1.17700? 1.17478? 0.00222

6? ?1.17508? 1.17633? 1.17595? 0.00038

7? ?1.17474? 1.17545? 1.17508? 0.00037

8? ?1.17463? 1.17546? 1.17474? 0.00072

9? ?1.17224? 1.17468? 1.17463? 0.00005

10? 1.17437? 1.17456? 1.17224? 0.00232

11? 1.17552? 1.17641? 1.17437? 0.00204

12? 1.17750? 1.17784? 1.17552? 0.00232

13? 1.17694? 1.17770? 1.17750? 0.00020

當然,您可以一步完成:


df['diff'] = df['h'] - df['c'].shift()


查看完整回答
反對 回復 2023-04-11
  • 1 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號