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

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

Pandas,如何查找滿足特定條件的行并將前一行保存在新的數據框中

Pandas,如何查找滿足特定條件的行并將前一行保存在新的數據框中

喵喔喔 2023-07-11 17:08:59
我試圖讓我的腳本讀取“data_b”和“data_d”列,如果它看到條件“Rest”和“True”,它應該保存前一行。data_frameRow_ID           data_a      data_b    data_c      data_d59               0.30781     Discharge 2.31725     NaN60               0.30786     Discharge 2.31714     NaN61               0.30792          Rest 2.34857    True62               0.31313          Rest 2.38084     NaN181              0.93398     Discharge 2.31103     NaN182              0.93398     Discharge 2.31115     NaN183              0.93408          Rest 2.34550    True184              0.93930          Rest 2.36800     NaN我希望輸出如下:Row_ID           data_a      data_b    data_c      data_d60               0.30786     Discharge 2.31714     NaN182              0.93398     Discharge 2.31115     NaN如您所見,第 61 行和第 183 行滿足條件。因為它必須僅保存第 60 行和第 182 行。
查看完整描述

2 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

嘗試:


l = list()

for index , row in df.iterrows():

    try:

        if row["data_b"] == "Rest" and row["data_d"] == "True":

            fila = df.iloc[index - 1,:]

            l.append(fila)

    except Exception as e:

        print(e)

        continue

result = pd.DataFrame(l)


查看完整回答
反對 回復 2023-07-11
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

嘗試用shift

newdf = df[df['data_d'].shift(-1).equal('True') & df['data_b'].shift(-1).eq('Rest')]


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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