是这样的合并可能与熊猫

时间:2017-05-15 15:01:40

标签: python csv pandas merge

csv image

这样的合并是否可能与熊猫合并?该成分在一列中的另一个csv文件中,杂货店也在一列中的另一个csv文件中,我想将列合并在一起,我尝试了不同的方法,但工作正常,但要求一直在变化。有没有办法只使用pandas合并这些数据?

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

检查字符串是否包含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'])])

0 个答案:

没有答案