Open In App

sciPy stats.trimboth() function | Python

Improve
Improve
Like Article
Like
Save
Share
Report

scipy.stats.trimboth(a, proportiontocut, axis=0) function slices off the portion of elements in the array from both the ends.

Parameters :
arr : [array_like] Input array or object to trim.
axis : Axis along which the mean is to be computed. By default axis = 0.
proportiontocut : Proportion (in range 0-1) of data to trim of each end.

Results : trimmed array elements from both the ends in the given proportion.

Code #1: Working




# stats.trimboth() method   
import numpy as np
from scipy import stats
    
arr1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  
  
print ("\narr1 : ", arr1)
  
print ("\nclipped arr1 : \n", stats.trimboth(arr1, proportiontocut = .3))
print ("\nclipped arr1 : \n", stats.trimboth(arr1, proportiontocut = .1))


Output :

arr1 :  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

clipped arr1 : 
 [3 4 5 6]

clipped arr1 : 
 [1 3 2 4 5 6 7 8]

 
Code #2:




# stats.trimboth() method   
import numpy as np
from scipy import stats
   
   
arr1 = [[0, 12, 21, 3, 14],
        [53, 16, 37, 85, 39]]
  
print ("\narr1 : ", arr1)
  
print ("\nclipped arr1 : \n"
       stats.trimboth(arr1, proportiontocut = .3))
  
print ("\nclipped arr1 : \n"
       stats.trimboth(arr1, proportiontocut = .1))
  
print ("\nclipped arr1 : \n"
       stats.trimboth(arr1, proportiontocut = .1, axis = 1))
  
print ("\nclipped arr1 : \n"
       stats.trimboth(arr1, proportiontocut = .1, axis = 0))


Output :

arr1 :  [[0, 12, 21, 3, 14], [53, 16, 37, 85, 39]]

clipped arr1 : 
 [[ 0 12 21  3 14]
 [53 16 37 85 39]]

clipped arr1 : 
 [[ 0 12 21  3 14]
 [53 16 37 85 39]]

clipped arr1 : 
 [[ 0  3 12 14 21]
 [16 37 39 53 85]]

clipped arr1 : 
 [[ 0 12 21  3 14]
 [53 16 37 85 39]]


Last Updated : 20 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads