import pandas as pd data = pd.read_csv(r'D:\Workspace\Code\CodeForDataWarehouse_Pycharm\Market_Basket_Optimisation.csv', header=None, names=['商品名', '购买数量']) df = pd.DataFrame(data, columns=['商品名']) result = df.groupby('商品名').size().reset_index(name='数量') result.to_csv(r'D:\Workspace\Code\CodeForDataWarehouse_Pycharm\sh2_purchase_summary.csv', index=False) 预期结果为:商品名,数量 milk,3 yogurt,3 eggs,4 soup,2 turkey,4 tomatto,3 cookies,2 apples,2;实际结果为:商品名,数量 cookies,1。输出结果与预期不符,请帮我找出问题
时间: 2023-05-30 17:06:44 浏览: 212
pandas.read_csv参数详解(小结)
在读取数据时,只指定了两列('商品名'和'购买数量'),并没有指定第一行为列名,所以需要加上参数header=None。而在给列名赋值时,只赋值了'商品名'一列,没有赋值'购买数量'一列,所以在分组统计时会出现问题。正确的代码应该是:
```
import pandas as pd
data = pd.read_csv(r'D:\Workspace\Code\CodeForDataWarehouse_Pycharm\Market_Basket_Optimisation.csv', header=None, names=['商品名', '购买数量'])
result = data.groupby('商品名').size().reset_index(name='数量')
result.to_csv(r'D:\Workspace\Code\CodeForDataWarehouse_Pycharm\sh2_purchase_summary.csv', index=False)
```
这样就可以得到正确的结果了。
阅读全文