Pandas连接字符串包含和loc

2024-10-03 15:30:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道这在熊猫身上是否可行:

在图像中更容易看到我想要的: [1] :https://i.stack.imgur.com/YV5fy.png


Tags: https图像compngstackimguryv5fy
1条回答
网友
1楼 · 发布于 2024-10-03 15:30:30

您可以尝试以下方法:

# Select only target patterns in df1
df1 = df1[df1.Description.str.contains('|'.join(df2.Description))].reset_index(drop=True)
# Select only target patterns in df2
df2 = df2[df2.Description.map(lambda x: df1.Description.str.contains(x).any())].reset_index(drop=True)
# Concatenate dataframes
df3 = pd.concat([df1, df2.rename(columns={'Description': 'Description (df2)'})], axis=1)

另一种方法,对于大型数据帧可能不是很有效:

mapper = {k:v for k in df1.Description for v in df2.Description if v in k}

df3 = pd.concat([
    df1[df1.Description.isin(mapper.keys())].reset_index(drop=True),
    df2[df2.Description.isin(mapper.values())].rename(columns={'Description': 'Description (df2)'}).reset_index(drop=True)
], axis=1)

相关问题 更多 >