仅需要动态地在特定列(月)上删除一个子列
我有一个从数据透视表创建的数据框,需要动态在特定列上放置一个子列...如果今天的日期小于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
样品