簡體   English   中英

python pandas比較兩列並返回結果

[英]python pandas compare two columns and return results

我有兩個數據框,如下所示。 我向兩者都添加了key列,以便獲得笛卡爾關節。 我想將df3數據幀的BEN_NAME2列中的每個值與df4數據幀的names2列進行比較。 我最初的計划是執行笛卡爾聯合,並檢查是否有匹配的值。 但是我的兩個數據幀都很大,嘗試加入時出現內存錯誤。

我想一次從BEN_NAME2列一次執行一個操作。 我想創建一個新的列df3這將使我行索引從df3如果精確匹配的結果。

例如, df3將獲得兩個新列,列match的值為(0,1,0) ,列matching_row_index的值為(0,3,0)因為第二行的jones值在df4數據幀中具有匹配項

sales = [{'key': 0, 'BEN_NAME2': '150 jones'},
         {'key': 0,  'BEN_NAME2': 'jones'},
         {'key': 0,  'BEN_NAME2': '50'}]
df3 = pd.DataFrame(sales)

sales = [{'key': 0, 'names2': 'xyc'},
         {'key': 0,  'names2': 'fsdfa'},
         {'key': 0,  'names2': 'jones'}]
df4 = pd.DataFrame(sales)

我的主要目標是以相對較快的速度獲得輸出。

在循環中使用iloc() 此功能使您可以瀏覽像數組這樣的數據框。

for i in range(0,10):
    A=df['Ben_names'].iloc[i]
    B= df['column_name'].iloc[i]
    #write the conditional statement using if and value to be inserted is var

    df.['column_nmae2'].iloc[i]=var

暫無
暫無

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

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