【问题标题】: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']

【问题讨论】:

    标签: python pandas dataframe pandas-groupby


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 2016-12-22
      • 2021-09-23
      • 2020-10-07
      相关资源
      最近更新 更多