python - 用熊猫过滤

时间:2021-03-29 11:14:37

标签: python pandas dataframe

如下表所示,每个现有行都有多个传入值。如何显示零值而不列出它们?

I do not want to buy those whose value is zero

 df = pd.DataFrame(klines, columns=labels)
 candles_df = pd.DataFrame(klines, columns=['T', 'open', 'high', 'low', 'close'])
 morning_star = talib.CDLMORNINGSTAR(candles_df['open'], candles_df['high'], candles_df['low'],
                                candles_df['close'], penetration=0)
 engulfing = talib.CDLENGULFING(candles_df['open'], candles_df['high'], candles_df['low'], candles_df['close'])


 print(candles_df != 0)

1 个答案:

答案 0 :(得分:0)

您可以使用 df.loc() 过滤布尔条件,如下所示:

print(candles_df.loc[ (candles_df['MorningStar'] != 0) | (candles_df['Engulfing'] != 0) ]) 

列名称基于您的屏幕截图。

这里我们过滤以只显示其中一个

  1. candles_df['MorningStar'] != 0
  2. candles_df['吞噬'] != 0

如果两者都为零,则布尔条件失败并且不会显示。