我有两个dataframe,dataframeA
,以及它的子dataframeB
,因为我需要根据A更改B中的一些值,使用匹配列在dataframe B中输入比较结果
A:
name id
321 1
18 1
234 2
12 2
234 2
... ...
B:
name id matching
321 2
14 2
13 2
234 1
235 1
我的搜索规则是,如果列名称dfB
(例如name=321)中的单元格与a同名,则检查名称的id(例如B中的id=1,a中的id=2)
之后,将在B中具有相同id的所有项目(例如,在B中,name=321,14,13都具有id=2)标记为matching=1
我希望输出如下:
B:
name id matching
321 2 1
14 2 1
13 2 1
234 1 2
235 7 2
我的代码需要很长时间才能工作,但仍然无法实现我的目标:
for i in range(0,len(A)):
for j in range(0,len(B)):
if A.name[i]== B.name[j]:
B.matching[j] = A.id[i]
我希望输出如下:
OutB:
name id matching
321 2 1
14 2 1
13 2 1
234 1 2
235 7 2
是否有任何函数或算法可以帮助我完成我的目标
你应该做你想做的事。请参阅文档:
https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#database-style-dataframe-or-named-series-joining-merging
文档中的示例
相关问题 更多 >
编程相关推荐