分享几个 pivot_table 使用小技巧

2020-12-07 17:31:38 +08:00
 fanqieipnet
今天番茄加速为大家分享几个 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 个小技巧后,再去透视数据可能就会变得游刃有余一点。
512 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX