Open In App

How to extract the value names and counts from value_counts() in Pandas ?

Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisites: 

In this article, we will learn how we can extract the names and values using values_count() from panda. The panda library is equipped with a number of useful functions for ‘value_counts’ is one of them. This function returns the counts of unique items in a pandas data frame.

Syntax: 

<object>.value_count()

Approach:

  • Import Required module.
  • Make the DataFrame
  • Process using value_count()
  • Display data

Example 1: To print all the unique country and the first country name in the list.

tolist() function return a list of the values.

Syntax: Index.tolist() 
Parameters : None
Returns : list

Python3




import pandas as pd
import matplotlib.pyplot as plt
  
# Make example dataframe
df = pd.DataFrame([(1, 'Germany'),
                   (2, 'France'),
                   (3, 'Indonesia'),
                   (4, 'France'),
                   (5, 'France'),
                   (6, 'Germany'),
                   (7, 'UK'),
                   (8, 'India'),
                   (9, 'India'),
                   (10, 'Germany')
                   ],
                  columns=['groupid', 'country'],
                  index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
  
  
# print all unique country name in the list
su1 = df['country'].value_counts().index.tolist()
print(su1)
  
# print 1st unique country name present in a list
su2 = df['country'].value_counts().index.tolist()[0]
print(su2)


Output:

Example 2: To print all the unique values of the column and the first value of the column.

value_count() counts Unique Occurrences of Values in a Column

Syntax: Index.value_count() 
Parameters: None
Returns: the count of occurrences of each of the unique values in this column.

Python3




import pandas as pd
import matplotlib.pyplot as plt
  
# Make example dataframe
df = pd.DataFrame([(1, 'Germany'),
                   (2, 'France'),
                   (3, 'Indonesia'),
                   (4, 'France'),
                   (5, 'France'),
                   (6, 'Germany'),
                   (7, 'UK'),
                   (8, 'India'),
                   (9, 'India'),
                   (10, 'Germany')
                   ],
                  columns=['groupid', 'country'],
                  index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
  
  
# print country name and counts
su3 = df['country'].value_counts()
print(su3)
  
# print 1st country count in a list
su4 = df['country'].value_counts()[0]
print(su4)


Output:

Example 3: To print our data using a loop from a list.

Python3




import pandas as pd
import matplotlib.pyplot as plt
  
# Make example dataframe
df = pd.DataFrame([(1, 'Germany'),
                   (2, 'France'),
                   (3, 'Indonesia'),
                   (4, 'France'),
                   (5, 'France'),
                   (6, 'Germany'),
                   (7, 'UK'),
                   (8, 'India'),
                   (9, 'India'),
                   (10, 'Germany')
                   ],
                  columns=['groupid', 'country'],
                  index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
  
  
# printing names and count using loop.
for idx, name in enumerate(df['country'].value_counts().index.tolist()):
    print('Name :', name)
    print('Counts :', df['country'].value_counts()[idx])


Output:

Example 4: To print our data in the form of Bar graph.

Syntax: matplotlib.pyplot.plot(kind=’ ‘)
Parameters: kind: type of graph, i.e. line, bar.
Returns: This returns a Graph.

Python3




import pandas as pd
import matplotlib.pyplot as plt
  
# Make example dataframe
df = pd.DataFrame([(1, 'Germany'),
                   (2, 'France'),
                   (3, 'Indonesia'),
                   (4, 'France'),
                   (5, 'France'),
                   (6, 'Germany'),
                   (7, 'UK'),
                   (8, 'India'),
                   (9, 'India'),
                   (10, 'Germany')
                   ],
                  columns=['groupid', 'country'],
                  index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
  
  
# Display data in a form of Graph
df['country'].value_counts().plot(kind='bar')
plt.show()


Output:



Last Updated : 11 Dec, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads