我有一个panas框架如下:
df
Prod ProdDesc tot avg qtr val_qtr
A Cyl 110 8.7 202301 12
A Cyl 110 8.7 202302 56.9
A Cyl 110 8.7 202303 9
A Cyl 110 8.7 202304 0
字符串
所以我想要的是堆栈/转置的嵌套。我用了pandas melt,
df_tra = df.melt(id_vars=['Prod', 'ProdDesc'], var_name='Attrib', value_name='Value')
df_tra.drop_duplicates()
型
所以我的输出是:
df_tra
Prod ProdDesc Attrib Value
A Cyl tot 110
A Cyl avg 8.7
A Cyl quarter 202301
A Cyl quarter 202302
A Cyl quarter 202303
A Cyl quarter 202304
A Cyl val_qtr 12
A Cyl val_qtr 56.9
A Cyl val_qtr 9
A Cyl val_qtr 0
型
**但是输出我想要的/想要的是不同的。**我想要的是以下内容:
df_actual_wanted
Prod ProdDesc Attrib Value
A Cyl tot 110
A Cyl avg 8.7
A Cyl 202301 12
A Cyl 202302 56.9
A Cyl 202303 9
A Cyl 202304 0
型
我怎么才能做到这一点?
1条答案
按热度按时间xqkwcwgp1#
选择多列
DataFrame.drop_duplicates
和DataFrame.melt
,并与snoter子集rename
通过concat
连接,最后如果需要,按两列排序:字符串
如果默认的索引和排序需要和原来的一样,改变一下解决方案:
如果小数据或性能不重要:
型