如何删除数据透视表数据框的子列

问题描述 投票:0回答:1

需要删除从数据透视表创建的多索引数据框的子列

仅需要动态地在特定列(月)上删除一个子列

我有一个从数据透视表创建的数据框,需要动态在特定列上放置一个子列...如果今天的日期小于15我需要在Sep-19当月)(Bill1之后的所有月份中删除子列Bill1从1月到9月出席)如果今天的日期大于15,则应在Oct-19下个月)(Bill1之后的所有月份中删除子列Bill1从一月到十月到场)

data_frame1 = pd.pivot_table(data_frame, index=['PC', 'Geo', 'Comp'], values=['Bill1', 'Bill2'], columns=['Month'], fill_value=0)data_frame1 = data_frame1.swaplevel(0,1, axis=1).sort_index(axis=1)tuples = [(a.strftime('%b-%y'), b) if a!= 'All' else (a,b) for a,b in data_frame1.columns]data_frame1.columns = pd.MultiIndex.from_tuples(tuples)

输出:

              Aug-19             Sep-19        Oct-19
             Bill1 Bill2      Bill1 Bill2     Bill1 Bill2     
PC Geo Comp
A  Ind   OS   1     1.28        1    1.28      1    1.28

所需输出:如果今天的日期小于15

               Aug-19          Sep-19        Oct-19
              Bill1  Bill2     Bill1 Bill2    Bill2     
PC Geo Comp
A  Ind   OS    1      1.28      1     1.28     1.28

如果今天的日期大于15

                 Aug-19         Sep-19           Oct-19
               Bill1 Bill2   Bill1  Bill2     Bill1   Bill2     
PC Geo Comp
A  Ind   OS     1      1.28    1     1.28       1     1.28
python-3.x pandas dataframe
1个回答
1
投票

样品

© www.soinside.com 2019 - 2024. All rights reserved.