V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fanqieipnet
V2EX  ›  推广

分享几个 pivot_table 使用小技巧

  •  
  •   fanqieipnet · 2020-12-07 17:31:38 +08:00 · 508 次点击
    这是一个创建于 1256 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天番茄加速为大家分享几个 pivot_table 使用小技巧。

      使用 df_melt 演示不出聚合的功能:

       zip_code variable value

       0 12345 factory 100

       1 56789 factory 400

       2 101112 factory 500

       3 131415 factory 600

       4 12345 retail 1

       5 56789 retail 2

       6 101112 retail 3

       7 131415 retail 4

      因为 zip_code + variable 的组合都是唯一的,因此转化一步,df_melt 基础上再 append 它:

       In [77]: dfa = df_melt2.append(df_melt2)

      数据变为:

       zip_code variable value

       0 12345 factory 100

       1 56789 factory 400

       2 101112 factory 500

       3 131415 factory 600

       4 12345 retail 1

       5 56789 retail 2

       6 101112 retail 3

       7 131415 retail 4

       0 12345 factory 100

       1 56789 factory 400

       2 101112 factory 500

       3 131415 factory 600

       4 12345 retail 1

       5 56789 retail 2

       6 101112 retail 3

       7 131415 retail 4

      此时前两列组合存在重复项,能够演示出聚合的效果:

       dfa.pivot_table(index='zip_code',columns='variable',aggfunc=np.sum)

       index 设定第一个维度:zip_code,columns 设定第二个维度为 variable,使用 aggfunc 参数做聚合,也就是存在 zip_code + variable 重复项时,两项 np.sum 累加,透视结果如下:

       value

       variable factory retail

       zip_code

       12345 200 2

       56789 800 4

       101112 1000 6

       131415 1200 8

      表格本质是二维结构,透视是变换二维表结构的艺术,掌握以上 3 个小技巧后,再去透视数据可能就会变得游刃有余一点。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3555 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:10 · PVG 19:10 · LAX 04:10 · JFK 07:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.