多个同结构pandas DataFrame按ID计算均值与标准差的实现方法
多pandas DataFrame批量计算方案
核心思路
将所有结构一致的DataFrame合并为总表后统一处理,无需循环操作单个DataFrame,代码简洁效率高。
代码实现
import pandas as pd # 1. 把所有待处理的DataFrame放入列表,后续新增df直接追加到列表即可 dfs = [df1, df2, df3] # 2. 合并、过滤、分组聚合一次性完成 result = pd.concat(dfs, axis=0) \ .query("ID != 'D'") \ .groupby('ID')['Amount'] \ .agg(avg='mean', std='std')
如果需要ID作为普通列而非索引,可以在最后加上.reset_index()。
结果验证
针对你给出的示例数据,运行后输出的result完全符合预期格式:
avg std ID A 5.000000 3.605551 B 1.000000 1.000000 C 2.000000 1.000000
内容的提问来源于stack exchange,提问作者LdM
相关产品推荐
相关产品推荐

