我正在研究一个看起来像这样的枢轴表:

            Style  Site AVS  End Qty.                                          \
JP SIZE                           116  120  140  ADULTS  L  M  O  OSFA  S  XL   
0        50935801  2664   0         0    0    0       0  0  0  0     0  0   3   
1        50935801  2807   0         0    0    0       0  0  0  0     0  0   3   
2        50935801  2832   0         0    0    0       0  0  0  0     0  0   3   
3        50935802  2702   1         0    0    0       0  0  1  0     0  0   0   
4        50985101  2849   0         0    0    0       0  0  3  0     0  0   0   

            Sales Qty.                              
JP SIZE  Total         116  120  140  ADULTS  L  M      
0            3           0    0    0       0  0  0 ...  
1            3           0    0    0       0  0  0 ...  
2            3           0    0    0       0  0  0 ...  
3            1           0    0    0       0  0 -1 ...  
4            3           0    0    0       0  0  0 ...  
.

,我希望只有一个矢量标题矢量,将是[风格,站点,AVS,116,120,...,总,销售数量。]

但是“销售数量”。列,而不是目前我想要的总列的表(我可以用JJ ['销售数量'] ['总'],所以我想我猜我可以在另一个中保存它变量,删除它并在最后添加它)

到目前为止我尝试过的所有东西都失败了,我认为这是因为我不太了解多样化的工作。

提前感谢您可以提供的任何帮助!

有帮助吗?

解决方案

可能存在更聪明的内置,但是一种方式是使用MultiDINX作为元组列表,并根据所描述的新列名称。

def custom_rename(lvl1, lvl2):
    if lvl1 == 'End Qty.':
        return lvl2
    elif lvl1 == 'Sales Qty.' and lvl2 == 'Total':
        return 'Sales Qty.'
    elif lvl2 == '':
        return lvl1
    else:
        return '_'
.

然后应用于列并分配:

df.columns = [custom_rename(lvl1, lvl2) for lvl1, lvl2 in df.columns]
.

'_'使用不再需要的列的标记,因此最后一步将删除那些。

df = df.drop('_', axis=1)
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top