Python 如果一个列表与另一个数据帧(熊猫)相对,如何返回值?

Python 如果一个列表与另一个数据帧(熊猫)相对,如何返回值?,python,pandas,dataframe,contains,Python,Pandas,Dataframe,Contains,上面提供了df和列表交易id 我想将国家信息和产品id添加到df2中。 我尝试使用join函数,但df1的Product_ID不是数字。有什么解决办法吗 提前感谢您的帮助。您可以通过以下几个步骤完成此操作:- 1.展平聚合的数据帧 链和重复序列(视情况而定),记住从str转换为int: 2.与包含选定交易ID的数据框合并 您可以通过以下两个步骤完成此操作:- 1.展平聚合的数据帧 链和重复序列(视情况而定),记住从str转换为int: 2.与包含选定交易ID的数据框合并 @Alex,在这种情况下

上面提供了df和列表交易id

我想将国家信息和产品id添加到df2中。 我尝试使用join函数,但df1的Product_ID不是数字。有什么解决办法吗


提前感谢您的帮助。

您可以通过以下几个步骤完成此操作:-

1.展平聚合的数据帧 链和重复序列(视情况而定),记住从str转换为int:

2.与包含选定交易ID的数据框合并
您可以通过以下两个步骤完成此操作:-

1.展平聚合的数据帧 链和重复序列(视情况而定),记住从str转换为int:

2.与包含选定交易ID的数据框合并
@Alex,在这种情况下,代码在图片之前。@Alex代码在问题的顶部提供。可能重复的代码不是我想要做的@jac@Alex,在本例中,代码在图片之前。@Alex问题顶部提供了代码。可能重复的代码不是我想要做的@jacHi@jpp,是否有类似包含函数和返回完整产品标识这样的方法?我不想要分开的名单。Thx@Boomshakalaka,否,没有基于包含的内置合并。而且,如果你自己编写这样一个函数,它将是混乱和低效的。非常感谢。Hi@jpp,有没有像contains函数和返回完整产品标识这样的方法?我不想要分开的名单。Thx@Boomshakalaka,否,没有基于包含的内置合并。而且,如果你自己编写这样一个函数,它将是混乱和低效的。非常感谢。
df1=pd.DataFrame({'Product_ID':["55165","80125,30215","55557","92361","32619,28965,20147","88722","82793","70809, 20201","11367"],
          'Product': ["ABC",'FDA','FSD','JGH','TYE','BVC','LKJ','HJD','POI'],
         'Country':['CN','US','GB','AG','MX','CA','DE','CA','SG']})

df2=pd.DataFrame({'Deal_ID':[70809,88722,82793,20201,55165,30215,11367]})
from itertools import chain
import numpy as np

split = df1['Product_ID'].str.split(',')
lens = split.map(len)

df1 = pd.DataFrame({'Country': np.repeat(df1['Country'], lens),
                    'Product': np.repeat(df1['Product'], lens),
                    'Deal_ID': list(map(int, chain.from_iterable(split)))})
df2 = df2.merge(df1)

print(df2)

   Deal_ID Country Product
0    70809      CA     HJD
1    88722      CA     BVC
2    82793      DE     LKJ
3    20201      CA     HJD
4    55165      CN     ABC
5    30215      US     FDA
6    11367      SG     POI