如何将Pandas DataFrame从横向宽表转为带重复键的纵向长表
你可以直接使用Pandas的melt方法完成宽表转长表的需求,完整操作代码如下:
import pandas as pd # 原始DataFrame定义 data = { 'Column 1': ['A', 'B'], 'Column 2': ['a_base', 'b_base'], 'Column 3': ['a_part', 'b_part'] } df = pd.DataFrame(data) # 核心转换逻辑 res_df = df.melt( id_vars=['Column 1'], value_vars=['Column 2', 'Column 3'], value_name='New Column 2', var_name=None ).rename(columns={'Column 1': 'New Column 1'})
运行后得到的res_df就是你需要的目标结构,如果需要输出成竖线分隔的文本格式,可以追加以下代码:
print(res_df.to_csv(sep='|', index=False))
内容的提问来源于stack exchange,提问作者Basir Miah
相关产品推荐
相关产品推荐

