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

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

pandas在一列中找到相似的行,根據條件創建一個新列

pandas在一列中找到相似的行,根據條件創建一個新列

三國紛爭 2023-08-08 15:04:43
我有一個 df,查詢主題 HPSame0 WP_77.1 WP_706.1 HPS_11 WP_78.1 WP_46.1 HPS_22 WP_57.1 WP_26.1 HPS_33 WP_57.1 WP_627.1 HPS_44 WP_15.1 WP_16.1 HPS_55 WP_15 .1 WP_17.1 HPS_66 WP_15.1 WP_63.1 HPS_7 7 WP_15.1WP_61.1 HPS_88 WP_15.1 WP_56.1 HPS_99 WP_40.1 WP_11.1 HPS_10我試過,df['query_s'] = df['query'].shift(-1)df['HPSame_s'] = df['HPSame'].shift(-1)condition = [(df['query'] == df['query_s'])]ifTrue = df['HPSame']ifFalse = df['HPSame_s']df['match'] = np.where(condition, ifTrue, ifFalse)這會引發 ValueError: 值的長度與索引的長度不匹配我也嘗試過,以下但沒有給我我想要的結果。df.loc[(df['query'] == df['query_s']), 'match'] = df['HPSame']df.loc[(df['query'] != df['query_s']), 'match'] = df['HPSame_s']我正在尋找結果,df = query subject HPSame match 0 WP_77.1 WP_706.1 HPS_1 HPS_1 1 WP_78.1 WP_46.1 HPS_2 HPS_2 2 WP_57.1 WP_26.1 HPS_3 HPS_3 3 WP_57.1 WP_627.1 HPS_4 HPS_3 4 WP_15.1 WP_16.1 HPS_5 HPS_5 5 WP_15.1 WP_17.1 HPS_6 HPS_5 6 WP_15.1 WP_63.1 HPS_7 HPS_5 7 WP_15.1 WP_61.1 HPS_8 HPS_5 8 WP_15.1 WP_56.1 HPS_9 HPS_5 9 WP _40.1 WP_11。 1 HPS_10 HPS_10
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

您可以使用ffill:


df['match'] = df['HPSame'].where(df['query'] != df['query'].shift()).ffill()

輸出:


     query   subject  HPSame   match

0  WP_77.1  WP_706.1   HPS_1   HPS_1

1  WP_78.1   WP_46.1   HPS_2   HPS_2

2  WP_57.1   WP_26.1   HPS_3   HPS_3

3  WP_57.1  WP_627.1   HPS_4   HPS_3

4  WP_15.1   WP_16.1   HPS_5   HPS_5

5  WP_15.1   WP_17.1   HPS_6   HPS_5

6  WP_15.1   WP_63.1   HPS_7   HPS_5

7  WP_15.1   WP_61.1   HPS_8   HPS_5

8  WP_15.1   WP_56.1   HPS_9   HPS_5

9  WP_40.1   WP_11.1  HPS_10  HPS_10


查看完整回答
反對 回復 2023-08-08
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您也可以使用groupby.transform('first')如


df['match'] = (

    df.groupby('query')['HPSame'].transform('first')

    .reset_index(drop=True)

)

輸出


     query   subject  HPSame   match

0  WP_77.1  WP_706.1   HPS_1   HPS_1

1  WP_78.1   WP_46.1   HPS_2   HPS_2

2  WP_57.1   WP_26.1   HPS_3   HPS_3

3  WP_57.1  WP_627.1   HPS_4   HPS_3

4  WP_15.1   WP_16.1   HPS_5   HPS_5

5  WP_15.1   WP_17.1   HPS_6   HPS_5

6  WP_15.1   WP_63.1   HPS_7   HPS_5

7  WP_15.1   WP_61.1   HPS_8   HPS_5

8  WP_15.1   WP_56.1   HPS_9   HPS_5

9  WP_40.1   WP_11.1  HPS_10  HPS_10


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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