如何从 table 获取值,如果它们包含另一个 table 中的值的子字符串,通过 python 中的 pandas (数据框)?

How to get values from table if they contains substrings from values in another table via pandas (dataframe) in python?

亲爱的朋友们)在pandas中有什么正确的方法吗?

第一table:

N   COLOR
1   117116C25
2   117116C28
3   JP-1989-1-9

秒table:

ART
SH034-117116C28
SH091B-117116C28
SH091B-JP-1989-1-9
SH077-117116c28

要获得这样的数据框(只有来自第一个 table 的子字符串的艺术)?:

N   COLOR   ART
2   117116C28   SH034-117116C28
2   117116C28   SH091B-117116C28
2   117116C28   SH077-117116c28
3   JP-1989-1-9 SH091B-JP-1989-1-9

假设数据帧命名为 df1df2,您可以提取部分 merge:

df1.merge(df2, left_on='COLOR',
          right_on=df2['ART'].str.split('-', 1).str[1].str.upper(),
          how='right')

输出:

   N        COLOR                 ART
0  2    117116C28     SH034-117116C28
1  2    117116C28    SH091B-117116C28
2  3  JP-1989-1-9  SH091B-JP-1989-1-9
3  2    117116C28     SH077-117116c28