如何使用Pandas实现宽表转长表 将指定列转换为行格式
你可以直接用Pandas内置的melt方法完成这类宽表转长表的操作,示例代码如下:
import pandas as pd # 假设你的原始DataFrame名称为df res = df.melt( id_vars = ["Uf", "IBGE", "CNES"], # 不需要变动、原样保留的公共列 value_vars = ["2020", "2021"], # 需要拆分行的年份列 var_name = "year", # 新生成的存储年份的列名 value_name = "value" # 新生成的存储对应数值的列名 ) # 可选操作:如果需要将year列从字符串转为整数类型,可以加这一行 res["year"] = res["year"].astype(int)
最终得到的res就是你需要的结构。
内容的提问来源于stack exchange,提问作者TiagoAssun
相关产品推荐
相关产品推荐

