Excel分组行转列

表格一
在这里插入图片描述
表格二
在这里插入图片描述
Excel表格一分组行转列变为表格二所示的格式怎么弄?

方案一:
转置粘贴,
每组数据单独处理,一组一组的选择,然后右键“粘贴选项”->“转置”,这样这一组数据就列传行了。
重复所有分组,最终实现表格一到表格二的转换。
数据量小的时候可以这样操作,数据量大一点还是很费时间的,当然不太实用。
在这里插入图片描述
方案二
分2步自动全部转换,一劳永逸。
第一步:DB和M连接并转为行模式
用数据透视表,把每组转到一行上
在这里插入图片描述
在这里插入图片描述
第二步:用vlookup根据DB和M去找space,构建表格二
组合DB和M
在这里插入图片描述
用表格一构建表格四

表格三
在这里插入图片描述
表格四
在这里插入图片描述
用vlookup在表格四中查找匹配表格三

=VLOOKUP(I5,Sheet3!$C:$D,2,0)

在这里插入图片描述
在这里插入图片描述

### 使用 Pandas 实现 Excel 或 CSV 文件中的行转列 对于较为复杂的 Excel 或 CSV 数据文件,在 Python 中可以利用 `pandas` 库来完成更灵活的行转列操作。下面介绍一种基于 `pivot_table()` 函数的方法,该函数允许指定哪些列为索引、值以及聚合方式。 #### 导入必要的库并加载数据 首先安装并导入所需的包: ```python import pandas as pd ``` 接着读取目标文件到 DataFrame 结构中: ```python df = pd.read_excel('data.xlsx') # 如果是 csv 文件则使用 read_csv() print(df.head()) ``` #### 执行基本的行转列(透视表) 假设原始表格结构如下所示,并希望按照某字段分组后将其余字段展开成新列的形式展示出来,则可采用以下代码片段实现这一需求[^1]: ```python result_df = df.pivot_table(index=['ID'], columns='Attribute', values='Value') print(result_df.reset_index()) # 将 index 转换成常规 column 显示 ``` 上述命令会创建一个新的 DataFrame (`result_df`) ,其中 ID 列作为新的 row labels (即左侧标签),而 Attribute 的不同取值成为顶部的新 header 名称;对应的 Value 即为单元格内的实际数值。 如果遇到非唯一组合的情况,可以通过设置参数 aggfunc 来定义当存在多个相同键时应如何汇总这些记录,默认情况下会选择 mean() 平均数计算。 #### 处理含有重复项的数据集 针对包含重复条目的情况,先通过 groupby 和 unstack 技术预处理源数据,再应用 pivot_table 进一步调整布局: ```python temp_df = df.groupby(['ID','Attribute'])['Value'].first().unstack(fill_value=0) final_result = temp_df.reset_index() print(final_result) ``` 这里 fill_value 参数用于设定缺失位置填充的内容,防止因某些分类下无对应值而导致 NaN 值出现影响后续分析工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值