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

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

迭代行并從上面的行中添加值 - Python

迭代行并從上面的行中添加值 - Python

牧羊人nacy 2023-06-06 16:16:05
我有一個充當分類帳的專欄。每行中的值是收據(正)和出站(負)。我希望創建一個附加列,從上面的行中獲取值并添加/減去當前值并給出總計 下面是我試過的代碼,但它所做的只是將值寫入另一列:mylist, df["consumption"]= []," " for i in range(1, len(thc) + 1):    j = df.columns.get_loc('Ledger')    x = (df.iat[i - 1, j])    mylist.append(x)df["consumption"] = mylist我希望消費欄看起來像:目的是使用此 df 來創建預測和線性圖跟蹤消耗。謝謝您的幫助
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您可以使用df.cumsum()

df["consumption"]?=?df['Ledger'].cumsum()


查看完整回答
反對 回復 2023-06-06
?
開滿天機

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

讓我們將上述數據作為一個二維數組,其中id代表索引 0,transaction代表索引 1,date代表索引 2 和ledger代表索引值 3。


所以我們將有一個二維數組結構


[ [id1, transaction1, date1, ledger1 ], [id2, transaction2, date2,ledger2],.... ]


legder現在我們要為每一行添加一個新的列消耗,它將是當前和之前的總和ledger,它將代表每一行的第 4 個索引值。


account =  [    [ 0 , "Beg bal2019-2020 ",  " 2019-09-05" , 16875],

                [ 1 , "3072 ",  " 2019-09-05" , -50],

                [ 2 , "30874 ",  " 2019-09-05" , -50],

                [ 3 , "247499 ",  " 2019-09-05" , -50],

           ]


current = 0

for row in account:

    row.append(current + row[3])

    current =row[4]


for i in account:

    print(i)

輸出


[0, 'Beg bal2019-2020 ', ' 2019-09-05', 16875, 16875]

[1, '3072 ', ' 2019-09-05', -50, 16825]

[2, '30874 ', ' 2019-09-05', -50, 16775]

[3, '247499 ', ' 2019-09-05', -50, 16725]


查看完整回答
反對 回復 2023-06-06
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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