使用Pandas转换数据集维度遇问题:pd.melt未完全生效求解决
解决方法
你的问题出在id_vars参数的设置上——当前只指定了location和range作为标识变量,但原始数据中的status和type也需要保留在每一行中,不能被融化。
修改后的代码如下:
df = pd.melt(df, id_vars=['location', 'range', 'status', 'type'], var_name='quarter', value_name='count')
代码说明
id_vars:指定需要保留的非融化列,这里包含location、range、status、type四个字段,确保每一行原始数据的这四个属性都能和融化后的季度数据一一对应。var_name:设置融化后原列名对应的新列名,这里是quarter。value_name:设置融化后原列值对应的新列名,这里是count。
执行这段代码后,就能得到你期望的宽表转长表的结果,每个季度的数值都会单独成为一行,同时保留所有必要的标识字段。
内容的提问来源于stack exchange,提问作者Lynn
相关产品推荐
相关产品推荐

