|
|
您的问题可以通过 pandas 库实现。使用 groupby 分组后,对单号去重计数,同时累加运费和金额。
代码如下:
- import pandas as pd
- # 读取数据(假设数据在 DataFrame 中)
- data = {
- '厂家': ['AB', 'BD', 'AC', 'AB'],
- '单号': [14, 2, 2, 14],
- '运费': [10, 226.42, 226.42, 50],
- '金额': [7, 4.52, 4.52, 10]
- }
- df = pd.DataFrame(data)
- # 分组聚合:单号去重计数,运费和金额求和
- result = df.groupby('厂家').agg(
- 单号个数=('单号', lambda x: x.nunique()), # 去重计数
- 运费=('运费', 'sum'),
- 金额=('金额', 'sum')
- ).reset_index()
- print(result)
复制代码
输出结果:
- 厂家 单号个数 运费 金额
- 0 AB 1 60.0 17.0
- 1 AC 1 226.42 4.52
- 2 BD 1 226.42 4.52
复制代码
说明:
1. groupby('厂家') 按厂家分组
2. agg 中:
- 单号个数:使用 nunique() 对单号去重计数
- 运费 和 金额:直接求和
3. reset_index() 将厂家从索引变为列
如需保存到 Excel:
- result.to_excel('结果.xlsx', index=False)
复制代码
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|