pandas行数不均DataFrame重新分组失败 输出形状异常如何解决

你要实现的是宽表转长表的格式转换,直接用pandas内置的melt方法即可完成,不需要分组操作,示例代码如下:
import pandas as pd # 替换变量名和列名适配你的实际场景 result_df = df.melt( # 填写不需要转换的固定列,多个列可以传列表,比如["唯一ID", "二级ID"] id_vars="唯一ID列名", # 转换后存储原有列名的列的名称 var_name="属性名称", # 转换后存储原有列对应值的列的名称 value_name="属性值" )
如果需要过滤空值行,直接在后面追加.dropna(subset=["属性值"])即可。
之前分组操作得到(唯一ID数量, 2)的结果,是因为groupby聚合不会自动展开原有多列的属性名和对应值,melt是这类场景的原生适配方法,输出结构完全匹配需求。
内容的提问来源于stack exchange,提问作者mhs003
相关产品推荐
相关产品推荐

