我有两个篮子
df1 = pd.DataFrame({'id':['XYZ', 'ABC1', 'CDS'], 'col1':[1,2,3]})
df2 = pd.DataFrame({'id':['XYZ1', 'XYZ2', 'ABC1', 'ABC11', 'CDSS', 'CDS', 'ABC2', 'ABC', 'XYA'],
'col2':[1,2,3,4,5,6,7,8,9]})
个字符
和
id col2
0 XYZ1 1
1 XYZ2 2
2 ABC1 3
3 ABC11 4
4 CDSS 5
5 CDS 6
6 ABC2 7
7 ABC 8
8 XYA 9
型
我想把df1和df2合并在df1的完整id和df2的第一个匹配的字符上,这样我就得到了这个字符串
id col2 col1
0 XYZ1 1 1.0
1 XYZ2 2 1.0
2 ABC1 3 2.0
3 ABC11 4 2.0
4 CDSS 5 3.0
5 CDS 6 3.0
6 ABC2 7 NaN
7 ABC 8 NaN
8 XYA 9 NaN
型
我该怎么做?
3条答案
按热度按时间b4lqfgs41#
将
df1
应用为pd.Series.map
中使用的Map:个字符
pes8fvy92#
从
df2
中的id中提取密钥,从df1
中的id开始,然后使用这些密钥执行merge
操作个字符
50few1ms3#
您需要合并这两个列,但首先需要根据
df2
中的id是否是df1
中id的子字符串为df2
添加一个自定义列:字符串
输出量:
型