Python 如果一个列表与另一个数据帧(熊猫)相对,如何返回值?
上面提供了df和列表交易id 我想将国家信息和产品id添加到df2中。 我尝试使用join函数,但df1的Product_ID不是数字。有什么解决办法吗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,在这种情况下
提前感谢您的帮助。您可以通过以下几个步骤完成此操作:- 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