首页 > 解决方案 > 在两个excel表中匹配数据,并存储匹配的数据

问题描述

假设我有两张 Excel 表格。命名为fruitsfruitsDetail

 fruits.xlsx                                          fruitsDetail.xlsx
**Name**                                        **Name  height  weight** circumference
apple                                       apple    25cm  50g      10cm
banana                                      apple    35cm  60g      10cm
orange                                      banana    15cm  20g     7cm
                                            banana    24cm   66g    6cm
....                                        orange    45cm  60g     20cm
                                            orange    36cm  76g     20cm
                                            orange    88cm  100g    30cm
                                                      .......

我一直在使用jupyter notebook 和 pandas

import pandas as pd
df = pd.read_excel(open(r'C:\Users\fruits.xlsx','rb'))
mf = pd.read_excel(open(r'C:\Users\fruitsDetail.xlsx','rb'))

现在我想按周长保存数据...输出如下在单独的 excel 表中

name    circumference     weight
apple   10cm              50g,60g
banana  7cm                20g
banana  6cm                66g
orange  20cm               60g,76g
orange   30cm              100g

标签: pythonpython-3.xpandas

解决方案


据我了解,您想对权重列进行字符串聚合。对于每个名称,圆周实例。数据已经全部存在于 mf 数据框中,因此不需要合并它。像下面这样的东西应该可以工作:

agg_df = mf.groupby(['name','circumference'])['weight'].apply(','.join).reset_index()
agg_df.to_excel("newoutput.xlsx")

推荐阅读