Python 计算没有“零”值的熊猫的最小值?
我有以下数据,需要在第一步中查找不带Python 计算没有“零”值的熊猫的最小值?,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有以下数据,需要在第一步中查找不带0.00的行中的min值 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.5
0.00的行中的min
值
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
稍后我需要计算min
和max
之间的差值,但是如果我使用下面的代码,最终结果是不可接受的
df['HOME_MIN'] = df.loc[:, COL_HOME].min(axis=1)
我不想使用以下技巧:
df = df.replace(0, np.NaN)
因为,有时极值可以等于0.01
,0.02
——这些值也不正确
如何添加条件以跳过0.00
|0.01
值
注意:需要正确的过滤器
df[df[COL_HOME].min(axis=1) > 0.03].loc[:, COL_HOME].min(axis=1)
您可以使用布尔过滤器排除您不想要的任何内容,如下所示
In [46]: df[df > .01].min(axis=1)
Out[46]:
0 1.54
1 1.47
2 1.89
dtype: float64
我需要在特定列中查找min
值,如df.loc[:,COL\u HOME].min(axis=1)
。如何修改您的示例?您可以在过滤后进行选择,例如,df[df>.01].loc[:,COL_HOME].min(axis=1)
如您所述添加,df['HOME_min']=df[df>0.03].loc[:,COL_HOME].min(axis=1)
并努力输出。