eight_ninety 2020-03-21 18:38 采纳率: 0%
浏览 1300

pandas 中 apply()自写函数,同时运用多列数据

原始dataframe有“10730 rows × 202 columns”,列名形如:
RegionName
State
2000-01
2000-02
2000-03
2000-04
2000-05
2000-06
2000-07
2000-08
...

需要把每年的12个月份变成每年4个季度展示,所以相当于没三列数据求一个和,我的代码如下:

def add(x):
        for i in range(2,201):
            if i <= 199:
                if (i+1)%3 ==0:
                    return x[i] + x[i+1] + x[i+2]
            if i == 200:
                return x[i]+x[i+1]
housing_quarters.groupby(["State","RegionName"]).apply(add)

输出结果是一条小横线,没有数据,我不知道哪儿错了,或者能帮我改一下函数吗?
我对apply()不太熟,总是搞不清里边引用函数时要不要带形参,自己def函数时的形参该写什么。如果能稍作解释就更好了~!谢谢!

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 18:29
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?