df_group = df_max.groupby('名称')['数值'].agg(['mean', pd.Series.mode]).reset_index() # 重命名列名 df_group = df_group.rename(columns={'mean': '平均值', 'mode': '众数'}) # 输出到 Excel 文件 df_group.to_excel('5.23平均值和众数.xlsx', index=False)加上如果有多个众数择取众数均值的代码
时间: 2023-08-05 07:06:28 浏览: 90
解决Oracle没有WM_CONCAT函数.zip
可以使用 Pandas 的 apply 方法来对众数进行处理,然后再计算均值。下面是示例代码:
```python
import pandas as pd
# 读取数据
df = pd.read_excel('data.xlsx')
# 分组计算平均值和众数
df_group = df.groupby('名称')['数值'].agg(['mean', pd.Series.mode]).reset_index()
# 处理众数,如果有多个众数则取均值
df_group['众数'] = df_group['mode'].apply(lambda x: sum(x)/len(x) if isinstance(x, list) else x)
# 重命名列名
df_group = df_group.rename(columns={'mean': '平均值', '众数': '众数均值'})
# 输出到 Excel 文件
df_group.to_excel('5.23平均值和众数.xlsx', index=False)
```
这段代码假设数据文件名为 `data.xlsx`,数据格式为两列,分别是名称和数值。它首先使用 `groupby` 方法按名称分组,然后使用 `agg` 方法计算平均值和众数。接着使用 `apply` 方法对众数进行处理,如果众数是一个列表,则计算均值。最后重命名列名,并输出到 Excel 文件中。
阅读全文