iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
  • 333
分享到

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

2024-04-02 19:04:59 333人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.stack()2. unstack()3. pivot()总结1.stack() stack()用于将列索引转换为最内层的行索引,这样叙述比较抽象,看示例就容易理解啦: 准备

1.stack()

stack()用于将列索引转换为最内层的行索引,这样叙述比较抽象,看示例就容易理解啦:

准备一组数据,给其设置双索引。

import pandas as pd
data = [['A类', 'a1', 123, 224, 254], ['A类', 'a2', 234, 135, 444], ['A类', 'a3', 345, 241, 324],
        ['B类', 'b1', 112, 412, 466], ['B类', 'b2', 224, 235, 345], ['B类', 'b3', 369, 214, 352],
        ['C类', 'c1', 236, 251, 485], ['C类', 'c2', 378, 216, 515], ['C类', 'c3', 135, 421, 312],
        ['D类', 'd1', 306, 325, 496], ['D类', 'd2', 147, 235, 524], ['D类', 'd3', 520, 222, 267]]
df = pd.DataFrame(data=data, columns=['类别', '编号', 'A指标', 'B指标', 'C指标'])
df = df.set_index(['类别', '编号'])
print(df)

df = df.stack()
print(df)

如图,成功将索引列之外的 A指标,B指标,C指标三列放在了同一列。

此时的df,不再是一个DataFrame,而变为了一个Series对象。:

print(type(df))

该Series的index列不同于原DataFrame的index列,而是在原DataFrame的index列的基础上,又增加了从右边合并过来的部分:

print(df.index)

此时Values为:

print(df.values)

2. unstack()

unstack是stack的逆向操作。

在上述示例的代码的基础上,对上边的df继续调用unstack()方法:

df1 = df.unstack()
print(df1)

可以看到unstack变回了原来的样子。

3. pivot()

这里对于上边例子中的数据稍作调整:

不设置多重索引

import pandas as pd
data = [['A类', '1', 123, 224, 254], ['A类', '2', 234, 135, 444], ['A类', '3', 345, 241, 324],
        ['B类', '1', 112, 412, 466], ['B类', '2', 224, 235, 345], ['B类', '3', 369, 214, 352],
        ['C类', '1', 236, 251, 485], ['C类', '2', 378, 216, 515], ['C类', '3', 135, 421, 312],
        ['D类', '1', 306, 325, 496], ['D类', '2', 147, 235, 524], ['D类', '3', 520, 222, 267]]
df = pd.DataFrame(data=data, columns=['类别', '编号', 'A指标', 'B指标', 'C指标'])
print(df)

df2 = df.pivot(index='编号', columns='类别', values='A指标')
print(df2)

index和columns分别指设定那一列的值为index,设置那一列的值为columns。values指表格要体现的指标。

df3 = df.pivot(index='类别', columns='编号', values='A指标')
print(df3)

总结

到此这篇关于python DataFrame中stack()方法、unstack()方法和pivot()方法的文章就介绍到这了,更多相关DataFrame stack()、unstack()和pivot()内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

本文链接: https://www.lsjlt.com/news/117178.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
    目录1.stack()2. unstack()3. pivot()总结1.stack() stack()用于将列索引转换为最内层的行索引,这样叙述比较抽象,看示例就容易理解啦: 准备...
    99+
    2024-04-02
  • python DataFrame中stack()方法、unstack()方法和pivot()方法怎么用
    这篇文章主要讲解了“python DataFrame中stack()方法、unstack()方法和pivot()方法怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python...
    99+
    2023-06-29
  • 深入浅析Pytorch中stack()方法
    目录1. 概念2. 参数3. 举例3.1 四个shape为[3, 3]的张量3.1.1 dim=0的情况下,直接来看结果。3.1.2 dim=1的情况下3.1.2 dim=2的情况下...
    99+
    2024-04-02
  • Pandas使用stack和pivot实现数据透视的方法
    目录前言 一、经过统计得到多维度指标数据二、使用unstack实现数据的二维透视三、使用pivot简化透视四、stack、unstack、pivot的语法1.stack2....
    99+
    2024-04-02
  • 在 Python 中创建DataFrame的方法
    目录方法一:创建空的DataFrame​方法二:使用List创建DataFrame​​方法三:使用字典创建DataFrame​​方法四:使用数组创建带索引DataFrame​方法五:...
    99+
    2024-04-02
  • 浅谈Python魔法方法
    特殊方法一览 在 Python 的学习和使用过程中, 你一定碰到过一些 特殊方法, 它们开头和结尾都有两条下划线, 也叫魔法方法 (Magic method), 或者 Dunder...
    99+
    2024-04-02
  • 浅析PHP中SQL修改语法和使用方法
    PHP中的SQL修改语句是一种用于更新数据库中现有数据的命令,它可以修改表中某个或所有记录的数据值。本文将详细介绍PHP中SQL修改语句的语法和使用方法。一、语法在PHP中,SQL修改语句的语法如下:UPDATE 表名 SET 字段名 = ...
    99+
    2023-05-14
    SQL php
  • 浅析Vue公共方法的实现方法
    Vue是一款流行的JavaScript框架,开发者可以使用这个框架来快速构建用户界面。在Vue中,公共方法是非常重要的组成部分。本篇文章将介绍Vue公共方法。在Vue中,公共方法可以是全局方法或实例方法。全局方法是挂载在Vue对象上的方法,...
    99+
    2023-05-14
  • 浅析uniapp $getappmap方法的用法
    作为一款跨平台的开发框架,uniapp在开发过程中为开发者提供了丰富的API接口,其中$getAppMap方法就是其中之一。$getAppMap方法可以在uniapp应用中获取应用地图的实例,让开发者可以通过该实例来进行地图相关的操作,本文...
    99+
    2023-05-14
  • Python pandas DataFrame数据拼接方法
    目录前言DataFrame数据拼接方法一:使用.append()方法。DataFrame数据拼接方法二:使用.concat()方法。补充:Python同时合并多个DataF...
    99+
    2024-04-02
  • python DataFrame的shift()方法的使用
    目录语法示例在python数据分析中,可以使用shift()方法对DataFrame对象的数据进行位置的前滞、后滞移动。 语法 DataFrame.shift(periods=1, ...
    99+
    2024-04-02
  • C++如何实现Stack方法
    这篇“C++如何实现Stack方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现Stack方法”文章吧。sta...
    99+
    2023-07-02
  • python中DataFrame数据合并merge()和concat()方法详解
    目录merge()1.常规合并①方法1②方法2重要参数合并方式 left right outer inner2.多对一合并3.多对多合并concat()1.相同字段的表首位...
    99+
    2024-04-02
  • python DataFrame的shift()方法怎么使用
    本篇内容主要讲解“python DataFrame的shift()方法怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python DataFrame的shift()方...
    99+
    2023-06-29
  • python DataFrame的合并方法有哪些
    这篇文章主要介绍“python DataFrame的合并方法有哪些”,在日常操作中,相信很多人在python DataFrame的合并方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-02
  • React浅析Fragments使用方法
    目录概述动机短语法带key 的Fragments概述 可以将子列表分组,而无需向DOM添加额外节点简单理解:空标签<React.Fragment></React.F...
    99+
    2022-12-03
    React Fragments的使用 React Fragments
  • 浅析Java 转 HTML 的方法和技巧
    Java 是一种面向对象的编程语言,广泛应用于各种企业应用程序的开发中。而 HTML 则是一种标记性语言,用于创建网页。在实际开发中,将 Java 代码转换为 HTML 页面是一个非常实用的需求。本文将介绍 Java 转 HTML 的方法和...
    99+
    2023-05-14
  • 浅析golang中JSON的使用方法
    Go是一门功能齐全的编程语言,同时也是一门非常流行的编程语言。它的一个强大之处就是对JSON的处理。JSON是一种轻量级的数据交换格式,非常适合用于Web应用程序中的数据交换。在golang中,处理JSON数据非常简单且高效。让我们来了解一...
    99+
    2023-05-14
  • Kotlin浅析null操作方法
    1.在java中由于null引起的空指针异常,是一个运行时异常。 在kotlin中为了避免这样的问题,会在编译期提示出来,而不是在运行期才报错。 1)比如我们把null赋值给一个已经...
    99+
    2024-04-02
  • C++详解实现Stack方法
    目录栈简介stack模拟示例代码开发环境运行结果栈简介 栈本着先进后出的原则,来存取数据。作为数据结构中的一种,这里不多介绍相关栈。仅以此文记录C++中栈的实现,可帮助提升编程能力与...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作