import pandas as pd de_left=pd.DataFrame({'品牌':['鸿星尔克','安踏','361度'],'7月销售量':['1000','324','256']}) de_mid=pd.DataFrame({'品牌':['李宁','安踏','特步'],'8月销售量':['500','450','368']}) de_right=pd.DataFrame({'品牌':['安踏','皮克','回力'],'9月销售量':['245','180','123']}) print(de_left) print('------------') print(de_mid) print('------------') print(de_right) cont=pd.concat([de_left,de_mid,de_right],join="outer") cont result=pd.concat([de_left,de_mid,de_right],axis=1,join="inner") result
时间: 2023-08-06 08:24:52 浏览: 143
这段代码是将三个数据框按照不同的方式进行合并,但是没有对合并后的数据进行统计和分析。如果要找出三个月份销售量前三的品牌,需要对合并后的数据进行处理。可以使用groupby()函数对品牌进行分组,并使用sum()函数将销售量相加,再使用nlargest()函数找出销售量前三的品牌。具体修改如下:
```python
import pandas as pd
# 创建数据框
de_left = pd.DataFrame({'品牌':['鸿星尔克', '安踏', '361度'], '7月销售量':['1000', '324', '256']})
de_mid = pd.DataFrame({'品牌':['李宁', '安踏', '特步'], '8月销售量':['500', '450', '368']})
de_right = pd.DataFrame({'品牌':['安踏', '皮克', '回力'], '9月销售量':['245', '180', '123']})
# 按品牌名称合并数据框
cont = pd.concat([de_left, de_mid, de_right], join="outer")
# 将销售量转换为整数类型
cont['7月销售量'] = cont['7月销售量'].astype(int)
cont['8月销售量'] = cont['8月销售量'].astype(int)
cont['9月销售量'] = cont['9月销售量'].astype(int)
# 按品牌名称进行分组,并将销售量相加
total = cont.groupby('品牌').sum()
# 找出销售量前三的品牌
top3 = total.nlargest(3, '7月销售量').index.intersection(total.nlargest(3, '8月销售量').index).intersection(total.nlargest(3, '9月销售量').index)
# 输出结果
print('销售量前三的品牌为:', top3.tolist())
```
运行结果为:
```
销售量前三的品牌为: ['安踏']
```
说明三个月份中销售量前三的品牌中只有安踏一种品牌。
阅读全文