我在excel中有一个如下的数据集
A B C D E F G
1 SKU Units Sales
2 11/5/18 12/5/18 11/5/18 12/5/18 11/5/18 12/5/18
3 Description total=5 total=9 total=33 total =60
4 Nail Varnish 2345 2345 2 4 $15 $30
5 Eyeliner 2346 2345 3 5 $18 $30
我使用熊猫转换成另一个excel与下面的结构
Description date sku Units Sales
0 Nail Varnish 11/5/18 2345 2 $15
1 Eye liner 11/5/18 2346 3 $18
2 Nail Varnish 12/5/18 2345 4 $30
3 Eye liner 12/5/18 2346 5 $30
我以前在pandas中使用过melt函数将一列转换为行(例如sales或Units),我不知道它是否适用于三个多索引列。你知道吗
df = pd.read_excel(filepath_name,index_col=False,usecols="A:G")
df2=pd.melt(df,id_vars=["SKU ","Units","Sales"], var_name ="Date", value_name='?)
但我如何能转换我的所有这些id变量(SKU,单位和销售)在一次去。你知道吗
Idea是用第一列创建索引,用前两行创建多索引,因此可以使用^{} :
如果excel文件中缺少第二个值,则需要进行预处理:
编辑1:
如果只需要筛选某些列以进行重塑:
编辑1:
^{} 与^{} 相反。你知道吗
是的,它适用于多索引列。如果列是多索引,则使用
col_level
参数来融化。 第一个链接中提供了示例。你知道吗相关问题 更多 >
编程相关推荐