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

Spa*_*Boy 4 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  
Run Code Online (Sandbox Code Playgroud)

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

df['HOME_MIN'] = df.loc[:, COL_HOME].min(axis=1)
Run Code Online (Sandbox Code Playgroud)

我不想使用以下技巧:

df = df.replace(0, np.NaN)
Run Code Online (Sandbox Code Playgroud)

因为,有时极端值可能相等0.01,0.02- 这些也不是正确的值.

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

注意:正确的过滤器是

df[df[COL_HOME].min(axis=1) > 0.03].loc[:, COL_HOME].min(axis=1)
Run Code Online (Sandbox Code Playgroud)

chr*_*isb 7

你可以使用布尔过滤器来排除你不想要的东西,比如这样.

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

  • 您可以在过滤后选择,例如 `df[df > .01].loc[:, COL_HOME].min(axis=1)` (2认同)