kuyoro 2022-05-05 08:45 采纳率: 90.5%
浏览 22
已结题

如何优化pandas按列统计方式

import pandas as pd
df = pd.DataFrame({ '年份': ['15年', '16年', '17年'],
                    '人口': [13.97, 14.28, 15.26],
                    'GDP': [14.34, 15.43, 16.08],
                  })
"""
    年份     人口    GDP
0  15年  13.97  14.34
1  16年  14.28  15.43
2  17年  15.26  16.08
"""

# 希望在每列最下方进行相关统计,希望达到效果:
"""
          人口     GDP
年份
15年   13.970  14.340
16年   14.280  15.430
17年   15.260  16.080
max   15.260  16.080
min   13.970  14.340
"""
# 目前实现代码
df.set_index('年份',inplace=True)
df = df.T # 第一次转置
df['max'] =df.max(1) # 进行相关统计
df['min'] =df.min(1)
df['mean'] =df.mean(1)
df = df.T # 第两次转置,才实现

# 目前要经过2次转置才能实现效果,非常冗余,消耗资源,所以希望能够简化代码,谢谢!




  • 写回答

1条回答 默认 最新

  • chuifengde 2022-05-05 09:42
    关注
    import pandas as pd
    df = pd.DataFrame({ '年份': ['15年', '16年', '17年'],
                        '人口': [13.97, 14.28, 15.26],
                        'GDP': [14.34, 15.43, 16.08],
                      })
    df.set_index('年份', inplace = True)
    df.loc['max'] = df.max().tolist()# 进行相关统计
    df.loc['min'] = df.min().tolist()
    df.loc['mean'] = df.mean().tolist()
    print(df)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月13日
  • 已采纳回答 5月5日
  • 创建了问题 5月5日