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

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

根據(jù)另一列計(jì)算行之間的差異

根據(jù)另一列計(jì)算行之間的差異

慕哥9229398 2021-05-30 15:04:50
我想通過使用 python/pandas 計(jì)算基于某些列的行之間的差異。我想我可以通過使用小例子來更好地解釋。所以,我有以下數(shù)據(jù): Number of rows       A             B 1                    4             NaN 2                    2             NaN 3                    2             1 4                    3             NaN 5                    2             NaN我想獲得以下數(shù)據(jù): Number of rows      A            B           C 3                   2            1           2所以,讓我解釋一下我在這里做了什么。首先,我需要標(biāo)識列B的行,該行的值為1(可以看到,行號3的行值為1)。然后,我需要找到該行(第 3 行)之前和之后的 2 行之間的差異,并將結(jié)果顯示為 C 列。在我們的示例中,第 3 行之前的 2 行是第 1 行,之后是 2 行第 3 行是第 5 行。列 A 的第 1 行和第 5 行的值之間的差值為 2 (4-2 = 2)(最后,我將保留行僅在列中具有值C - 這是一項(xiàng)簡單的任務(wù),我不需要任何幫助)。我希望我能解釋一下。在此先感謝您的幫助。
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

一種解決方案是獲取索引并使用i-2和i+2


i = df.loc[df.B.eq(1)].index.tolist()

j = [(i_-2,i_+2) for i_ in i ]


df.loc[df.B.eq(1), 'C'] = [df.A.iloc[a] - df.A.iloc[b] for (a,b) in j]


n   A   B   C

0   1   4   NaN NaN

1   2   2   NaN NaN

2   3   2   1.0 2.0

3   4   3   NaN NaN

4   5   2   NaN NaN

或者當(dāng)然可以再次切入以b=1達(dá)到預(yù)期的輸出


df[df.B.eq(1)]

    n   A   B   C

2   3   2   1.0 2.0


查看完整回答
反對 回復(fù) 2021-06-01
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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