【问题标题】:How to remove specific columns from multi-index based on date condition如何根据日期条件从多索引中删除特定列
【发布时间】:2020-01-02 17:02:41
【问题描述】:

我需要根据今天的日期从多索引数据框中删除子列

df = pd.pivot_table(df, index=['PC', 'Geo', 'Comp'], values=['Bill1', 'Bill2', Bill3], 
                        columns=['Month'], fill_value=0)


数据透视表之前的数据框


期望的输出

请注意,输出基于当月
如果今天的日期 >15

如果今天的日期

【问题讨论】:

  • 你能详细解释一下你的逻辑吗?
  • @Tom...我已经从数据框创建了一个数据透视表...请忽略数据透视表公式上面的代码.. bill1,bill2,bill3 具有基于日期的值... 我需要 bill1 仅具有一个月的值**(基于当前日期)** * *bill2 & bill3 没有变化
  • 可以在pivot_table之前创建数据样本吗?
  • @PraveenSnowy 你能提供一个完整的例子来说明你希望你的输出df 是什么样子吗?
  • 是的,但是 ROM 的值是什么?这是问题,因为日期时间和字符串有混合值,所以有必要吗?

标签: python python-3.x pandas dataframe pivot-table


【解决方案1】:

您可以如下修改您的代码。

df.iloc[:,np.in1d(df.columns.get_level_values(1), [dat])]

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多