如何在R中将含多行变量的宽数据框转换为长数据框?
解决方法
可以用Python的pandas库完成这个DataFrame的格式转换,具体步骤如下:
1. 构造原始DataFrame
先还原你的初始数据结构:
import pandas as pd # 初始化原始数据 raw_data = { 'person1': [0.5, 3], 'person2': [1.3, 5], 'person3': [1.7, 2] } df = pd.DataFrame(raw_data, index=['pocketmoney', 'chores'])
2. 转置+调整结构
通过转置操作交换行和列,再重置索引、修改列名匹配目标格式:
# 转置DataFrame(行和列互换) transposed_df = df.T # 将原索引转为"Person"列,重置索引 transposed_df = transposed_df.reset_index().rename(columns={'index': 'Person'}) # 调整列名大小写,匹配目标格式 transposed_df = transposed_df.rename(columns={'pocketmoney': 'Pocketmoney'})
最终输出结果
执行上述代码后,transposed_df的格式就和你要求的一致:
Person Pocketmoney chores 0 person1 0.5 3 1 person2 1.3 5 2 person3 1.7 2
内容的提问来源于stack exchange,提问作者Emily Jones
相关产品推荐
相关产品推荐

