Count specific condition in 2d-array

count number of elements in numpy array
numpy count occurrences in 2d array
numpy count condition
np.count zero
numpy find matching elements
python count number of occurrences in matrix
numpy count unique
subset numpy array by condition

Given a 2D Array, count the number data at column 3 where it is the same.

For example,

 String[][] array = {
                    { "red", "value1", "alpha"  },
                    { "blue", "value2", "alpha"  }, 
                    { "green", "value3", "alpha"  }, 
                    { "black", "value4", "alpha" },
                    { "grey", "value1", "beta"  },
                    { "white", "value2", "beta"  }, 
            };

          int counter=0;
          for(String[] subArray : array)
              for(String string : subArray)
                  if(string.toLowerCase().equals("beta"))
                      counter++;

          System.out.println(counter); 

The output of the counter for beta = 2 and alpha = 4.

Assuming I don't know what is the exact name of the data in column 3, how I count the conditions? if(string.toLowerCase().equals(???))

Any help will be appreciated!

It could be something like this using groupingBy in java 8:

 Arrays.stream(array)
       .collect(Collectors.groupingBy(arr -> arr[2], Collectors.counting()));

Result will:

{alpha=4, beta=2}

B.T.W If you want to ignore case, do it as:

Arrays.stream(array)
      .collect(Collectors.groupingBy(arr -> arr[2].toLowerCase(), Collectors.counting()));

NumPy: Count the number of elements satisfying the condition, If you want to replace an element that satisfies the conditions, see the following post. In the case of a two-dimensional array, axis=0 gives the count per processed for each row or column when parameter axis is specified. Count dates in a specific date range To count the dates that fall in a certain date range, you can also use either a COUNTIFS formula with two criteria or a combination of two COUNTIF functions. For example, the following formulas count the number of dates in cells C2 through C10 that fall between 1-Jun-2014 and 7-Jun-2014, inclusive:

Create a Map<String, int>

Look for the value of string.toLowerCase in the Map and if it is found increment the value of int else insert with the value of 1

NumPy: Extract or delete elements, rows and columns that satisfy , Extract elements that satisfy the conditions Extract rows and columns that satisfy the post: NumPy: Count the number of elements satisfying the condition Even if the original ndarray is a multidimensional array, a flattened  python .count for multidimensional arrays (list of lists) Simple way to count number of specific elements in 2D array Python Assigning a variable the count of

There are many ways, but one way:

  1. Create a new multidimensional array of types string:int.

  2. Iteratethrough your array at the last index, and then check if it exists in your array you made.

  3. If it exists, inremement the int to int+1.
  4. If it does not exist, add it and add int=1

Sorting, searching, and counting, sort (a[, axis, kind, order]), Return a sorted copy of an array. nanargmax (a[, axis]), Return the indices of the maximum values in the specified axis ignoring NaNs. where (condition, [x, y]), Return elements, either from x or y, depending on  This will work whenever you want to count occurences of a value in arrays of this format. A general and simple answer would be: Since your ndarray contains only 0 and 1, you can use sum() to get the occurrence of 1s and len()-sum() to get the occurrence of 0s. You have a special array with only 1 and 0 here.

numpy.nonzero, Returns a tuple of arrays, one for each dimension of a, containing the indices of the count_nonzero: Counts the number of non-zero elements in the input array. Given an array a, the condition a > 3 is a boolean array and since False is  To count with multiple criteria and OR logic, you can use the COUNTIFS function with an array constant . In the example shown, the formula in H6 is: = SUM ( COUNTIFS ( D4:D11 , { "complete" , "pending" } )) How this formula works

Count rows in a matrix that consist of same element, Given a matrix mat[][], the task is to count the number of rows in the matrix that Approach: Set count = 0 and start traversing the matrix row by row and for a  p31 = numpy.asarray(o31) za = (p31 < 200).sum() # p31<200 is a boolean array, so `sum` counts the number of True elements. Share a link to this answer. improve this answer. answered Oct 21 '12 at 8:32. 222 silver badges. 312 bronze badges. There are many ways to achieve this, like flatten-and-filter or simply enumerate, but I think using

Count all sorted rows in a matrix, Given a matrix of m*n size, the task is to count all the rows in a matrix that are sorted either in strictly increasing order Note c > 1 condition is required to make​. In the C# language, the Length or Count property is often evaluated each time a for-loop is run. It can be faster to hoist the Count or Length check out of the loop. Note: Occasionally the JIT compiler can optimize loops that include the Count or Length in the for statement. Note 2: Hoisting is sometimes faster. For optimal performance, you will need to test your program.

Comments
  • Create a new multidimensional array of types string:int How would you know how big to make this array? Easier to use a Map I think
  • True, though, by creating the function yourself you can learn the logic yourself in addition to perhaps expanding using more simpler means. But agreed there are lots of ways.