如何计算Pandas Groupby对象中的唯一值

如何计算Pandas Groupby对象中的唯一值

在这里,我们可以使用不同的方法计算Pandas groupby对象中的唯一值。本文描述了如何使用Pandas .NET检索数据框架中某些属性的唯一值。

方法1:使用nunique()计算唯一值

Pandas dataframe.nunique()函数返回一个带有指定轴的唯一观测值总数的系列。如果我们将轴的值设为0,就会发现索引轴上的唯一观测值总数。

# import pandas
import pandas as pd
 
# create dataframe
df = pd.DataFrame({'Col_1': ['a', 'b', 'c', 'b', 'a', 'd'],
                   'Col_2': [1, 2, 3, 3, 2, 1]})
 
# call groupby method.
df = df.groupby('Col_1')['Col_2'].nunique()
 
display(df)

输出:

Col_1
a    2
b    2
c    1
d    1
Name: Col_2, dtype: int64

方法2:使用agg()计算唯一值

使用到的函数:

  • groupby()函数是用来根据一些标准将数据分成组。Pandas的对象可以在其任何一个轴上进行分割。
  • agg()用于传递一个函数或函数列表,以应用于一个系列,甚至一个系列中的每个元素。在函数列表的情况下,多个结果由agg()方法返回。
  • Pandas reset_index()是一个重置df的索引的方法。 reset-index()方法设置一个从0到数据长度的整数列表作为索引。

示例 1:

在输出中,你会发现col_1中存在的元素是该列中唯一存在的元素,也就是说,a出现了2次。

# import pandas
import pandas as pd
 
# create dataframe
df = pd.DataFrame({'Col_1': ['a', 'b', 'c', 'b', 'a', 'd'],
                   'Col_2': [1, 2, 3, 3, 2, 1]})
 
# print original dataframe
print("original dataframe:")
display(df)
 
 
# call groupby method.
df = df.groupby("Col_1")
 
# call agg method
df = df.agg({"Col_2": "nunique"}).reset_index()
 
# print dataframe
print("final dataframe:")
display(df)

输出:

如何计算Pandas Groupby对象中的唯一值?

示例 2:

在输出中,你会发现col_2中存在的元素是该列中唯一存在的元素,即3出现了2次。

# import pandas
import pandas as pd
 
# create dataframe
df = pd.DataFrame({'Col_1': ['a', 'b', 'c', 'b', 'a', 'd'],
                   'Col_2': [1, 2, 3, 3, 2, 1]})
 
# print original dataframe
print("original dataframe:")
display(df)
 
 
# call groupby method.
df = df.groupby("Col_2")
 
# call agg method
df = df.agg({"Col_1": "nunique"}).reset_index()
 
# print dataframe
print("final data frame:")
display(df)

输出:

如何计算Pandas Groupby对象中的唯一值?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程