我有两个数据帧,如下所示。我向两者添加了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)
答案 0 :(得分:0)
循环使用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