首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将2级数据重构为3级数据

将2级数据重构为3级数据
EN

Stack Overflow用户
提问于 2020-09-25 07:57:00
回答 1查看 23关注 0票数 1

我有一个两级多级的数据。下面是它的一个例子。我有两个参与者报告了他们两天的水果消费量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id day apple orange
1   1    34     12
1   2    54     43
2   1    65     56
2   2    87     81

我想将数据帧从2级数据重构为3级数据。我想a)为水果类型设置一个变量;b)在一列中嵌套水果消费的天数。因此,数据帧如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id day fruit_type fruit_consumption
1   1      apple                34
1   1     orange                12
1   2      apple                54
1   2     orange                43
2   1      apple                65
2   1     orange                56
2   2      apple                87
2   2     orange                81
EN

回答 1

Stack Overflow用户

发布于 2020-09-25 08:25:42

如果你指的是Python的pandas DataFrame,那么我已经为它编写了下一个解决方案,有点通用,不仅针对需要重新排列的两列苹果/橙色,而且针对任意数量的列,通过在脚本开头指定范围crng来控制。它的工作速度应该很快,因为它使用普通的numpy,只需要少量的python循环迭代。

您也可以使用try next code online here!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd, numpy as np

crng = (2, 4) # Range of columns for rearranging

df = pd.DataFrame([map(int, line.split()) for line in """
    1   1    34     12
    1   2    54     43
    2   1    65     56
    2   2    87     81
""".splitlines() if line.strip()], columns = ['id', 'day', 'apple', 'orange'])
print('input:\n', df)

a = df.values
b = np.zeros((a.shape[0], crng[1] - crng[0], crng[0] + 2), dtype = np.object_)

for icol, col in enumerate(df.columns[crng[0] : crng[1]]):
    b[:, icol, 0] = a[:, 0]
    b[:, icol, 1] = a[:, 1]
    b[:, icol, 2] = df.columns[crng[0] + icol]
    b[:, icol, 3] = a[:, crng[0] + icol]

b = b.reshape((b.shape[0] * b.shape[1], b.shape[2]))

df = pd.DataFrame(data = b,
    columns = df.columns[:crng[0]].values.tolist() + ['fruit_type', 'fruit_consumption'],
)
print('output:\n', df)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64060104

复制
相关文章
将单体应用重构为微服务
微服务重构概述 将单体应用程序转换为微服务的过程是应用程序现代化的一种形式。这是几十年来开发人员一直在做的事情。因此,在将应用程序重构为微服务时,有一些方法可以重用。 一个策略是不推荐“大面积”重写。那就是当您将所有的开发工作集中在从头开始构建新的基于微服务器的应用程序时。虽然听起来很吸引人,但它是非常危险的,可能会以失败告终。 您应该逐步重构单体应用程序,而不是大面积重写。您应该逐渐构建一个由微服务组成的新应用程序,并与您的单体应用程序一起运行。随着时间的推移,单体应用程序实现的功能量会缩小,直到它完全消
用户1263954
2018/01/30
1K0
将单体应用重构为微服务
代码重构(三):数据重构规则
在《代码重构(一):函数重构规则(Swift版)》和《代码重构(二):类重构规则(Swift版)》中详细的介绍了函数与类的重构规则。本篇博客延续之前博客的风格,分享一下在Swift语言中是如何对数据进行重构的。对数据重构是很有必要的,因为我们的程序主要是对数据进行处理。如果你的业务逻辑非常复杂,那么对数据进行合理的处理是很有必要的。对数据的组织形式以及操作进行重构,提高了代码的可维护性以及可扩展性。 与函数重构与类重构类似,对数据结构的重构也是有一定的规则的。通过这些规则可以使你更好的组织数据,让你的应用程
lizelu
2018/01/11
1.2K0
代码重构(三):数据重构规则
代码重构(三):数据重构规则
在《代码重构(一):函数重构规则(Swift版)》和《代码重构(二):类重构规则(Swift版)》中详细的介绍了函数与类的重构规则。本篇博客延续之前博客的风格,分享一下在Swift语言中是如何对数据进行重构的。对数据重构是很有必要的,因为我们的程序主要是对数据进行处理。如果你的业务逻辑非常复杂,那么对数据进行合理的处理是很有必要的。对数据的组织形式以及操作进行重构,提高了代码的可维护性以及可扩展性。
全栈程序员站长
2022/07/05
1K0
代码重构(三):数据重构规则
深入Python数据分析:宽表如何重构为长表
先来了解Pandas封装的顶层函数部分,其一:melt()函数,它位于Pandas包的最顶层,结构如下:
double
2019/05/28
2.3K0
数据工厂13:首页重构
Hello ,最近首页更新了 小伙伴想要的 数据统计图之后,有好多小伙伴反馈说 太难了,基本看不懂。
我去热饭
2022/05/19
6860
数据工厂13:首页重构
机房重构——数据库
耿建玲视频看完后,就陆续开始敲学生,敲机房,虽说是学过数据库了,但是只是大体了解,具体应用还是不熟悉,于是用的都是给的数据库,在敲机房的过程中,用了很多SQL语句,自考也学了数据库,更深入的学习了数据库的知识,所以,第二次敲机房,再不亲自创建一个数据库都说不过去了,那具体的过程是怎样的呢?
全栈程序员站长
2022/08/09
2700
机房重构——数据库
图数据重构子图
•一、查找需要合并的概念•二、扩展概念查看一度关联关系•三、新建一个节点•四、将节点列表合并到第一个节点 •4.1 待操作节点 •4.2 将节点一度关系全部扩展出来 •4.3 进行重构分析 •4.4 重构时设置不对节点属性进行操作 •4.5 重构后的效果•四、总结
马超的博客
2022/09/02
7300
图数据重构子图
【原创】SQLServer将数据导出为SQL脚本的方法
        最近很多同学问到一个问题,如何将MSSQLServer的数据库以及里面的数据导出为SQL脚本,主要问的是MSSQLServer2000和2005,因为2008的管理器已经有了这个功能,2000和2005则没有。
流柯
2018/08/30
2.1K0
【原创】SQLServer将数据导出为SQL脚本的方法
前端如何将json数据导出为excel文件
前端人员在开发时,有时为了满足用户需求,需要下载excel文件。这里通常有两种做法,一种是后端工程师将数据转化为excel,然后前端进行下载即可,还有一种方式,前端请求需要下载的数据,在浏览器端生成excel文件,然后进行下载。
挥刀北上
2020/08/04
7.4K0
前端如何将json数据导出为excel文件
数据清洗、合并、转化和重构
文章来源:Python数据分析 目录: DIKW模型与数据工程 科学计算工具Numpy 数据分析工具Pandas Pandas的函数应用、层级索引、统计计算 Pandas分组与聚合 数据清洗、合并、转化和重构 数据清洗是数据分析关键的一步,直接影响之后的处理工作 数据需要修改吗?有什么需要修改的吗?数据应该怎么调整才能适用于接下来的分析和挖掘? 是一个迭代的过程,实际项目中可能需要不止一次地执行这些清洗操作 处理缺失数据:pd.fillna(),pd.dropna() 1.数据连接(pd.merge)
Python攻城狮
2018/08/23
1.5K0
数据清洗、合并、转化和重构
1、数据清洗是数据分析关键的一步,直接影响之后的处理工作 2、数据需要修改吗?有什么需要修改的吗?数据应该怎么调整才能适用于接下来的分析和挖掘? 3、是一个迭代的过程,实际项目中可能需要不止一次地执行这些清洗操作 4、处理缺失数据:pd.fillna(),pd.dropna() 1、数据连接(pd.merge) 1、pd.merge 2、根据单个或多个键将不同DataFrame的行连接起来 3、类似数据库的连接操作 示例代码: import pandas as pd import numpy as np
用户1332428
2018/03/08
9310
Java基础重构-数据类型
那么堆和栈是怎么联系起来的呢? 我们在上面给堆分配了一个地址,吧堆的地址赋给 arr,arr就通过地址指向了数组,所以arr 想操纵数组时,就通过地址,而不是直接把实体都赋给它。这种我们不再叫它基本数据类型,而是叫引用类型数据。称为 arr 引用了堆内存当中的实体。
Petterp
2022/02/09
6020
Java基础重构-数据类型
echarts旭日图数据重构处理
网上对于旭日图的数据结构处理资料很少,所以自己记录一下。 首先看旭日图需要的数据结构:
全栈程序员站长
2022/11/09
4960
echarts旭日图数据重构处理
SQL Server 2008支持将数据导出为脚本
以前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了。现在在SQL Server 2008的Management Studio中增加了一个新特性,除了导出表的定义外,还支持将表中的数据导出为脚本。导出过程是这样的,我简单说明下:
深蓝studyzy
2022/06/16
9410
SQL Server 2008支持将数据导出为脚本
java数据导出为excel表格_将数据库表中数据导出到文本文件
公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两张表都导入数据库中,建表的数据如下:
全栈程序员站长
2022/10/29
3.2K0
java数据导出为excel表格_将数据库表中数据导出到文本文件
7、重构单体为微服务
本书主要介绍如何使用微服务构建应用程序,这是本书的第七章,也是最后一章。第一章介绍了微服务架构模式,讨论了使用微服务的优点与缺点。随后的章节讨论了微服务架构的方方面面:使用 API ​​网关、进程间通信、服务发现、事件驱动数据管理和部署微服务。在本章中,我们将介绍单体应用迁移到微服务的策略。
Java架构师历程
2018/09/26
5530
7、重构单体为微服务
云开发数据库重构:如何将字段抽离成单独的集合
曾供职于云盾、简书,资深前端工程师,we-plugin开源项目组成员,现任潮办科技CTO,基于腾讯云·云开发转型全栈开发者,独立完成多个微信小程序从0到1全功能完整上线运行。
腾讯云开发TCB
2020/06/03
8120
shell 自动导出数据库,将导出的格式为 : 数据库名+时间.sql
#!/bin/bash# databases out save# developer : eisc.cn# 开发: 小绿叶技术博客; 功能:shell 自动导出数据库,将导出的格式为 : 数据库名+时间.sql echo "linux user: $USER ; Enter the current user sudo password: " ; sudo date ; formatdate=`date +%Y.%m.%d-%H%M%S` ; echo "time year month day Hour b
eisc
2023/02/08
2.6K0
机房收费系统——VB将MSHflexgrid控件中的数据导出为Excel
 在做机房收费系统的时候,许多窗体用到的一个功能,就是将从数据库中提取出来的数据导出到Excel中。
令仔很忙
2018/09/14
1.2K0
PHP如何将数据库查询结果输出为json格式
近期做接口的时候需要做到一个操作,将数据库查询结果输出为json格式方便程序调用。 于是在网上看到了两种解法,就此分享出来,供大家学习以及自己日后进行参考。 可将其封装成专门将数据转换成json格式的接口
吃猫的鱼Code
2023/02/02
3.3K0

相似问题

将因子数据重构为矩阵

38

将矩阵重构为数据帧

21

将多维列数据数组重构为多维行数据数组

38

将IntelliJ重构为内联冗余数据类

25

将数据的switch语句重构为不同类型的数据

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文