我正在尝试在两个数据帧之间映射数据(数据来自使用pandas的csv文件),但是我遇到了索引问题
第一个df是df1
0 CAT11/06
1 CAT11/100
2 CAT23/223
3 CAT33/14
4 CAT13/14
5 DOG12/04
6 DOG24/14
7 CAT24/112
第二个df是df2
0 CAT1
3 CAT2
4 CAT3
5 DOG1
6 DOG2
,我想创建一个新的数据框来收集期望的数据,并将其定义为df3
0 CAT1 CAT11/06 | CAT11/100 | CAT13/14
1 CAT2 CAT23/223 | CAT24/112
2 CAT3 CAT33/14
3 DOG1 DOG12/04
4 DOG2 DOG24/14
答案 0 :(得分:0)
在in
和join
中使用两个for循环
df2['col2']=['|'.join(df1[[x in y for y in df1]].tolist()) for x in df2.col1]
df2
Out[347]:
col1 col2
0 CAT1 CAT11/06|CAT11/100|CAT13/14
3 CAT2 CAT23/223|CAT24/112
4 CAT3 CAT33/14
5 DOG1 DOG12/04
6 DOG2 DOG24/14