gis*_*s20 6 python max nan absolute-value pandas
这是我的尝试.例如
df = pd.DataFrame({'a':[5,0,1,np.nan], 'b':[np.nan,1,4,3], 'c':[-3,-2,0,0]})
df.dropna(axis=1).max(axis=1,key=abs)
Run Code Online (Sandbox Code Playgroud)
过滤掉这些NaN
值,但它的值为0或负值,而不是绝对值的高值
结果应该是一列
5
-2
4
3
Run Code Online (Sandbox Code Playgroud)
gis*_*s20 10
我解决了
maxCol=lambda x: max(x.min(), x.max(), key=abs)
df.apply(maxCol,axis=1)
Run Code Online (Sandbox Code Playgroud)
最直接有效的方法就是转换为绝对值,然后求最大值。Pandas 通过简单的语法(abs和max)支持这一点,并且不需要昂贵的应用操作:
df.abs().max()
Run Code Online (Sandbox Code Playgroud)
max()
接受一个axis
参数,该参数可用于指定是否计算行或列的最大值。
tho*_*as 5
您可以使用np.nanargmax
平方数据:
>>> df.values[range(df.shape[0]),np.nanargmax(df**2,axis=1)]
array([ 5., -2., 4., 3.])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4992 次 |
最近记录: |