【问题标题】:List of dates where Boolean toggles from false to true布尔值从 false 切换到 true 的日期列表
【发布时间】:2020-08-01 21:35:45
【问题描述】:

我有以下数据框:

    High    Low Open    Close   Volume  Adj Close   bcc
Date                            
2018-01-02  2695.889893 2682.360107 2683.729980 2695.810059 3367250000  2695.810059 False
2018-01-03  2714.370117 2697.770020 2697.850098 2713.060059 3538660000  2713.060059 False
2018-01-04  2729.290039 2719.070068 2719.310059 2723.989990 3695260000  2723.989990 False
2018-01-05  2743.449951 2727.919922 2731.330078 2743.149902 3236620000  2743.149902 False
2018-01-08  2748.510010 2737.600098 2742.669922 2747.709961 3242650000  2747.709961 True
... ... ... ... ... ... ... ...
2020-04-13  2782.459961 2721.169922 2782.459961 2761.629883 5274310000  2761.629883 False
2020-04-14  2851.850098 2805.100098 2805.100098 2846.060059 5567400000  2846.060059 False
2020-04-15  2801.879883 2761.540039 2795.639893 2783.360107 5203390000  2783.360107 False
2020-04-16  2806.510010 2764.320068 2799.340088 2799.550049 5179990000  2799.550049 False
2020-04-17  2879.219971 2830.879883 2842.429932 2874.560059 5792140000  2874.560059 False
577 rows × 7 column

我如何获得日期列表,其中bcc 布尔值False 切换到True 的列。例如,在我上面提出的data 中,您可以在2018-1-08 上看到False 切换到True 的日期。

【问题讨论】:

    标签: python python-3.x pandas list datetime


    【解决方案1】:

    & 的链 2 掩码按位 AND,第二个掩码使用Series.shift~ 的反转掩码用于 False 值选择:

    df2 = df[df['bcc'] & (~df['bcc']).shift(fill_value=False)]
    #~ working like
    #df2 = df[df['bcc'] & (df['bcc'] == False).shift(fill_value=False)]
    print (df2)
                      High          Low         Open        Close      Volume  \
    Date                                                                        
    2018-01-08  2748.51001  2737.600098  2742.669922  2747.709961  3242650000   
    
                  Adj Close   bcc  
    Date                           
    2018-01-08  2747.709961  True  
    

    【讨论】:

    • 我将问题从假切换为真。所以我应该得到2018-1-08 作为日期。
    • 您能帮我解决另外 1 个问题吗?我需要根据df 中的数据在df2 中创建一个名为'pct' 的列,其中我得到前一天的收盘价/ 今天的低点,其中的值是True 中的bcc。你能帮我解决这个问题吗?
    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    相关资源
    最近更新 更多