python:是否可以通过使用字符串数据框映射值?

时间:2018-10-16 16:40:56

标签: python pandas dictionary

我正在尝试在两个数据帧之间映射数据(数据来自使用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

1 个答案:

答案 0 :(得分:0)

injoin中使用两个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