如何插入列名并将列数据转成行?df.Column[]值被替换问题求助
解决DataFrame列转行并保留列名的问题
需求与问题
需要实现插入列名并将列数据转换为行的操作:
原始数据集:

期望结果:

使用df.Column[]操作时出现数据值被列名替换的问题,操作后效果:
解决方法
使用pandas的melt()函数可以精准实现需求,避免数据被列名替换的问题。
示例代码
import pandas as pd # 替换为你的实际DataFrame df = pd.DataFrame({ '姓名': ['张三', '李四'], '语文': [90, 80], '数学': [85, 95], '英语': [95, 88] }) # 执行列转行操作 result_df = df.melt( id_vars=['姓名'], # 指定无需转换的固定列 var_name='科目', # 原列名对应的新列名称 value_name='分数' # 原列值对应的新列名称 ) print(result_df)
参数说明
id_vars:设置需要保留的列(不参与行转换的列,比如示例中的「姓名」)var_name:定义将原列名转换后的新列标题value_name:定义将原列数据转换后的新列标题
根据你的实际数据集调整id_vars、var_name和value_name的参数值即可得到符合预期的结果。
内容的提问来源于stack exchange,提问作者Khalilomorph
相关产品推荐
相关产品推荐

