簡體   English   中英

比較兩個數據框的列並根據條件過濾數據框

[英]Compare columns of two dataframes and filter dataframe based on the condition

兩個數據幀如下所示

Name Score John 0.27 Peter 0.34 David 0.89 Sarah 0.67 Tom 0.93

Name minScore John 0.50 Peter 0.20 David 0.90 Sarah 0.50 Tom 0.90

我想將第一個數據幀的列(Score)與第二個數據幀的列(minScore)進行比較,並獲得過濾后的第一個數據幀df = dataframe1['score']>dataframe2['minscore']

最終輸出如圖所示

Name Score Peter 0.34 Sarah 0.67 Tom 0.93

提前致謝。

您需要在字段名稱上加入數據框

df = dataframe1.merge(dataframe2, on='Name')

並過濾結果:

df[df.Score > df.minScore]

您可以創建一個以Name索引的系列,並在構造布爾條件時使用map 我也建議您明確copy以確保不會留下任何風景。

min_map = df2.set_index('Name')['minScore']
df = df1.loc[df1['Score'] > df1['Name'].map(min_map)].copy()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM