列中值的计数频率,其中另一列中的值为simi

2024-04-25 14:37:49 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个pandasdataframe,看起来如下column_acolumn_b。如何构造两个附加列,一个计算所有列的column_a中每个值的频率,另一个计算column_a中值相同的唯一值数:

column_a | column_b | col_a_count | count_unique_b_where_a
  0           1           4         3
  0           1           4         3
  0           2           4         3
  0           3           4         3
  2           0           3         1
  2           0           3         1
  2           0           3         1 
  5           3           1         1
  9           5           6         5 
  9           5           6         5
  9           3           6         5
  9           4           6         5
  9           2           6         5
  9           1           6         5

Tags: countcolumncolwhere频率uniquepandasdataframe值数
1条回答
网友
1楼 · 发布于 2024-04-25 14:37:49

使用groupbyagg

s = (df.groupby('column_a').agg(
        {'column_a': 'count', 'column_b': 'nunique'}).reindex(df.column_a))

          column_a  column_b   
column_a                       
0                4         3   
0                4         3   
0                4         3   
0                4         3   
2                3         1   
2                3         1   
2                3         1   
5                1         1   
9                6         5   
9                6         5   
9                6         5   
9                6         5   
9                6         5   
9                6         5   

相关问题 更多 >