如何为列中的每个唯一值获取数据框中的项目数[重复]

Posted

技术标签:

【中文标题】如何为列中的每个唯一值获取数据框中的项目数[重复]【英文标题】:How to get number of items in a dataframe for each unique value in a column [duplicate] 【发布时间】:2021-04-02 18:47:12 【问题描述】:

Dataframe 中的一列是STANME(州名)。我想用 index = STNAME 和 value = DataFrame 中的条目数创建一个熊猫系列。示例输出如下所示

STNAME
Michigan           83
Arizona            15
Wisconsin          72
Montana            56
North Carolina    100
Utah               29
New Jersey         21
Wyoming            23

我目前的解决方案如下,但由于需要选择任意列、重命名此列等,看起来有点笨拙。想知道是否有更好的方法来做到这一点

grouped=df.groupby('STNAME')
# Note: County is an arbitrary column name I picked from the dataframe
grouped_df = grouped['COUNTY'].agg(np.size)
grouped_df.columns = ['Num Counties']

【问题讨论】:

【参考方案1】:

您可以使用value_counts() 实现此目的。此函数用于获取包含唯一值计数的pd.Series

freq = df['STANME'].value_counts()

索引是STANME,值是它的频率(第一个元素是最常出现的元素)。

请注意,默认情况下会排除 NA。

【讨论】:

以上是关于如何为列中的每个唯一值获取数据框中的项目数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何为熊猫数据框中的每一行映射/替换列中的多个值

从数据框中的所有列中获取值的最简单方法是啥[重复]

PySpark:如何为数组列中的每个元素添加值?

C# SQL:如何为 SQL 表列中的每个不同值启动代码?

如何为R中的重复值分配唯一的等级编号

如何为列表框中的每个项目设置不同的工具提示文本?