前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-科学计算-pandas-05-Df变形

Python-科学计算-pandas-05-Df变形

作者头像
zishendianxia
发布2019-12-02 19:41:58
6170
发布2019-12-02 19:41:58
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲Python的科学计算版块
  • 今天讲讲pandas模块: 对DataFrame的行列按照新的规则进行重组

Part 1:示例

  1. 已知一个DataFrame,有4列["time", "pos", "value1", "value2", "value3"]
  2. time作为列,pos作为行重组DataFrame
  3. 从结果上看,相当于对value1这一列进行了重新布局,以time作为列,pos作为行

原DataFrame

变形后

Part 2:代码

import pandas as pd
dict_1 = {"time": ["2019-11-2", "2019-11-2", "2019-11-2", "2019-11-3", "2019-11-3", "2019-11-3"],          "pos": ["P1", "P2", "P3", "P1", "P2", "P3"],          "value1": [11, 22, 33, 44, 55, 66],          "value2": [1, 2, 3, 4, 5, 6],          "value3": [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(dict_1, columns=["time", "pos", "value1", "value2", "value3"])df_2 = df.pivot(index="pos", columns='time', values='value1')print(df)print("\n")print(df_2)

代码截图

Part 3:部分代码解读

  1. df.pivot(index="pos", columns='time', values='value1')
    • index设置行索引
    • columns设置列索引
    • values设置内容
  2. 如果调换行列df_3 = df.pivot(index="time", columns='pos', values='value1'),结果如下图
  3. 结合上一章节,是不是可以快速算出每一个pos的各种统计值,如下图所示

调换行列

统计结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档