[英]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.