转置 pandas 数据框的一部分

2023-11-27

我有以下数据框:

>>> df
Out[15]: 
      group   type  amount  number
0   group_A    buy     100     123
1   group_A   view       0     111
2   group_B   view       0     222
3   group_A   view       0     222 

我想旋转数据,以便最终得到:

              type  group_A   group_B
0    amount    buy      100         0
1    number    buy        0       123
2    number   view      333       222

我该如何实现这个目标?


Using:

df=pd.DataFrame([['group_A','buy',100,123],['group_A','view',0,111],['group_B','view',0,222],['group_A','view',0,222]],columns=['group','type','amount','number'])

首先对指数求和并定向:

>>> df = df.groupby(['type','group']).sum().transpose().stack(0).reset_index()
>>> df
group level_0  type  group_A  group_B
0      amount   buy      100      NaN
1      amount  view        0        0
2      number   buy      123      NaN
3      number  view      333      222

删除全为零的行:

df = df[~((df['group_A']==0) | (df['group_B']==0))]

菲尔娜的:

>>> df.fillna(0)
group level_0  type  group_A  group_B
0      amount   buy      100        0
2      number   buy      123        0
3      number  view      333      222

这里的一些地方有点猜测,但它应该给你一个开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转置 pandas 数据框的一部分 的相关文章

  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 在 Numpy 中切片后确定结果数组的形状

    我很难理解在 numpy 中切片后如何确定结果数组的形状 例如 我使用以下简单代码 import numpy as np array np arange 27 reshape 3 3 3 slice1 array 1 2 1 slice2
  • Tensorflow 可变图像输入大小(自动编码器、放大......)

    Edit WARNING不建议使用不同图像大小的图像 因为张量需要具有相同的大小才能实现并行化 我一直在寻找解决方案 了解如何使用不同大小的图像作为神经网络的输入 Numpy 第一个想法是使用numpy 然而 由于每个图像的大小不同 我无法
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • Python 中的 @staticmethod 与 @classmethod

    方法和方法有什么区别装饰的 https peps python org pep 0318 with staticmethod http docs python org library functions html staticmethod和
  • 在可编辑的QSqlQueryModel中实现setEditStrategy

    这是后续这个问题 https stackoverflow com questions 49752388 editable qtableview of complex sql query 在那里 我们创建了 QSqlQueryModel 的可
  • 为什么我用 beautifulSoup 刮的时候有桌子,但没有 pandas

    尝试抓取条目页面转换为制表符分隔格式 主要拉出序列和 UniProt 登录号 当我跑步时 url www signalpeptide de index php sess m listspdb bacteria s details id 10
  • 将 Pandas 列中的列表拆分为单独的列

    这是我在 pandas 数据框中的 特征 列 Feature Cricket 82379 Kabaddi 255 Reality 4751 Cricket 15640 Wildlife 730 LiveTV 13 Football 4129
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • Airflow Python 单元测试?

    我想为我们的 DAG 添加一些单元测试 但找不到任何单元测试 有 DAG 单元测试框架吗 有一个端到端的测试框架存在 但我猜它已经死了 https issues apache org jira browse AIRFLOW 79 https
  • Flask WTForms 使用变量自动填充 StringField

    我有一个表格 我想用上一页收到的信息自动填充一些字段 但如果他们想调整它 它需要是可更改的 我正在为我的 SelectField 使用动态创建的列表 但添加 StringField 并不成功 请参阅下面的我的代码 forms py clas
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 检查字符串是否只有字母和空格 - Python

    试图让 python 返回一个字符串仅包含字母和空格 string input Enter a string if all x isalpha and x isspace for x in string print Only alphabe
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21

随机推荐

  • ImageMagick 安全策略“PDF”阻止转换

    Imagemagick 安全策略似乎不允许我执行从 pdf 到 png 的转换 转换其他扩展名似乎可以工作 只是不能从 pdf 转换 自从安装以来 我没有更改任何 imagemagick 设置 如果操作系统很重要的话 我正在使用 Arch
  • 从 Eclipse 调试在 ScriptEngine 中运行的 Groovy 脚本

    我有一个 Groovy 脚本 其运行方式如下 File scriptFile ScriptEngine engine String script FileUtils readFileToString scriptFile Object ev
  • 以编程方式添加单词进行单词预测的问题

    我在用用户字典 Words班级的addWord功能将单词添加到词典中 以便它们可以显示在文本预测中 这些词确实存在于字典中APP ID 0并可用于默认的 Android 键盘 然而 我使用的是 Swift 键盘 它没有考虑这些词的预测 我正
  • Angular4 中的自定义字体导入

    我使用 Angular4 但在使用自定义字体时遇到问题 我尝试使用 font face 但它给了我无法找到字体文件的错误 我需要做什么才能包含此文件以便在我的组件中使用它 font face font family lcd plain sr
  • 如何“docker exec”从头构建的容器?

    我在尝试着docker exec从头开始构建的容器 例如 NATS 容器 看起来很简单 但由于它是从头开始构建的 我无法访问 bin bash bin sh以及任何此类命令 我收到错误 oci runtime error 找不到命令 找不到
  • Windows 8 Metro 应用程序文件共享访问

    我正在开发一个 Windows 8 Metro 应用程序 我们打算将其部署到我们公司内的几台平板电脑上 它不适用于 Windows 应用商店 我们需要该应用程序访问公司网络共享上的某些目录 但强制用户使用FilePicker这不是我们想要的
  • 使用什么来代替 Object.keys()?

    我需要在 Jquery 中找到一些可以在 IE8 和真实浏览器中工作的东西 我是 Jquery 的新手 以下是我在现代浏览器中运行的代码 FIELD office id on change function offices this val
  • ASP.NET MVC 子域

    我有这样的托管和域名 www EXAMPLE com 我创建了几个这样的子域 www PAGE1 EXAMPLE com www PAGE2 EXAMPLE com www PAGE3 EXAMPLE com etc 所有这些子域都指向同一
  • 如何为多个 servlet 配置 spring security?

    我想在 spring mvc 应用程序中使用 spring security 该应用程序由两个模块组成 一个 前端 和一个管理模块 两个模块都有自己的调度程序 servlet 具有不同的映射 因此它们确实有自己的 Web 上下文 但共享相同
  • MySQL查询超时:(70100):查询执行被中断

    我想执行 MySQL 查询以删除所有Wp posts表行其中post parent is a Wp posts排与post type设置为产品 So I do INSERT INTO temp SELECT DISTINCT id FROM
  • 基于 C 的应用程序/项目的文件和文件夹结构 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 基于 C 编程语言的应用程序 项目的一般结构是什么 库 包括 头文件 等等等等 班级结构是什么 在 OOps 中 需要可扩展和其他功能 类似 mai
  • NodeJS 中将字符串从 utf8 转换为 latin1

    我使用的是 Latin1 编码的数据库 无法将其更改为 UTF 8 这意味着我遇到了某些应用程序数据的问题 我正在使用 Tesseract 对文档进行 OCR tesseract 以 UTF 8 编码 并尝试使用 iconv lite 但是
  • 将内存转储到文件

    我想将一部分内存转储到文件中 一个原因是将信息保存在某个地方 另一个原因是当我的程序重新启动时再次读取它 这样做的正确方法是什么 我的第一个想法是 char start my pointer int i for i 0 i lt MEMOR
  • 过程指针,派生类型

    以下内容无法在 Intel Fortran XE 2011 中编译 TYPE type1 procedure interface1 POINTER p END TYPE type1 ABSTRACT INTERFACE integer fu
  • Firebase 错误:W/BiChannelGoogleApi:[FirebaseAuth:] getGoogleApiForMethod() 返回 Gms

    这是我的注册活动 我正在尝试使用 Firebase 创建一个 createUserWithEmailAndPassword 并向用户的个人资料添加一些详细信息 例如全名 地址和电话号码 我想在使用电子邮件和密码创建用户时在分配给新用户的 用
  • SolidJS:控制台日志中的“在`createRoot`或`render`之外创建的计算将永远不会被释放”消息

    在处理 SolidJS 项目时 您可能会开始在 JS 控制台中看到以下警告消息 computations created outside a createRoot or render will never be disposed Solid
  • 使用故事板的优点和缺点

    我计划学习使用故事板开发应用程序 任何人都可以发布使用 StoryBoards 时的一些优点和缺点吗 何时使用 Storyboard 以及何时使用 XIB 在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处 ipho
  • MySQL 更新更改多个列是非原子的吗?

    我在使用 Django 和 MySQL 5 5 22 时遇到以下问题 给定一个包含 id level 列和存储为 a11 a12 a21 a22 的 2x2 矩阵的表 我有这一行 id a11 a12 a21 a22 level 324 3
  • 创建多个变量[重复]

    这个问题在这里已经有答案了 我想用一个创建 10 个变量for在Python中 不是数组 像这样的东西 for i in range 1 10 1 variable i 100 i print variable i 我想创建变量名称 在本例
  • 转置 pandas 数据框的一部分

    我有以下数据框 gt gt gt df Out 15 group type amount number 0 group A buy 100 123 1 group A view 0 111 2 group B view 0 222 3 gr