像这样和Pandas合并可能吗

2024-09-29 00:15:29 发布

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

csv image

像这样和熊猫合并可能吗?成分是在另一个csv文件中的一列,杂货店是在另一个csv文件中的一列也,我想合并列在一起,我尝试了不同的方法,工作良好,但要求不断变化,随着夜晚。有没有办法只用熊猫来合并这些数据?你知道吗

我试过两种不同的方法 第一个是这个

检查字符串是否包含忽略大写的IngName

df = df_grocery[df_grocery['[SUB CATEGORY]'].str.contains(str(ingName[i]), case=False)]
df['IngredientName'] = ingName[i]
df['IngredientID'] = ingID[I]

但这得到了子字符串,文件变大了。我尝试的第二种方法是拆分成分,并将结果放入列中,然后根据列合并到其他文件中。你知道吗

df_ing1 = pd.DataFrame(ingredient_tokenized)
df_ing1 = df_ing1.add_suffix('_IngredientName')
result_ingredient = pd.concat([df_ingredient, df_ing1], axis=1)
FinalDF = pd.merge(result_ingredient, result_grocery, how='inner', left_on = ['IngredientName'], right_on = ['Sub_Seg_Sub_Cat'])

我也尝试过类似的方法,但是它当然是空的,因为值不一样。你知道吗

pd.merge(df_ingredient, df_grocery, left_on='IngredientName', right_on='Sub_Seg_Sub_Cat', how='inner')

效率也不高。我对python真的很陌生,所以任何帮助都将不胜感激。你知道吗

基本上,我想要这样的东西

复制

df_A = pd.DataFrame.from_items([('A', ['Peanut Butter', 'Enhanced Water', 'Teriyaki Sauce'])])

df_B = pd.DataFrame.from_items([('B', ['Butter', 'Water', 'Sauce', 'Peanut Butter', 'Peanut Butter Fruit'])])

df_C = pd.DataFrame.from_items([('A', ['Peanut Butter', 'Enhanced Water', 'Teriyaki Sauce', 'Peanut Butter', 'Nan']), ('B', ['Butter', 'Water', 'Sauce', 'Peanut Butter', 'Peanut Butter Fruit'])])

Tags: 文件方法dataframedfonpdsauceingredient