在没有“零”值的情况下计算熊猫的最小值?

时间:2016-02-24 17:23:13

标签: python python-2.7 pandas

我有以下数据,第一步需要在没有min的行中查找0.00

HOME_48  HOME_24  HOME_12  HOME_03  HOME_01  HOME_00   HOME  
   0.00     1.54     2.02     1.84     1.84     1.84   1.84  
   0.00     1.47     1.76     1.89     2.56     2.56   2.56  
   0.00     2.02     2.50     2.56     1.89     1.92   1.92  

稍后我需要在minmax之间计算delta-diff,但如果我使用下面的代码,那么最终结果是不可接受的

df['HOME_MIN'] = df.loc[:, COL_HOME].min(axis=1)

我不想使用以下技巧:

df = df.replace(0, np.NaN)

因为有时极端值可能等于0.010.02 - 这些值也不正确。

如何添加条件以跳过0.00 | 0.01值?

注意:正确的过滤器是

df[df[COL_HOME].min(axis=1) > 0.03].loc[:, COL_HOME].min(axis=1)

1 个答案:

答案 0 :(得分:5)

您可以使用布尔过滤器来排除您不想要的任何内容,例如:

In [46]: df[df > .01].min(axis=1)
Out[46]: 
0    1.54
1    1.47
2    1.89
dtype: float64