如何从 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
假设数据帧命名为 df1
和 df2
,您可以提取部分 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
亲爱的朋友们)在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
假设数据帧命名为 df1
和 df2
,您可以提取部分 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