简体   繁体   English

根据组(熊猫数据框)计算多列中的唯一值

[英]Count unique values in multiple columns according by group (pandas dataframe)

I have a dataframe in pandas: 我在熊猫中有一个数据框:

    a  b  c  d  e
0   1  x  y  t  u
1   1  x  z  y  v
2   1  y  x  t  z
3   2  x  t  z  u
4   2  z  x  y  t 
5   3  x  z  y  t

I need to transform this dataframe into this: 我需要将此数据框转换为此:

   a  x  y  z  t  u  v  y  z
0  1  3  3  2  2  1  1  3  2
1  2  2  1  2  2  1  0  1  2
2  3  1  1  1  1  0  0  0  0

IIUC IIUC

df.set_index('a').stack().groupby(level=0).value_counts().unstack(fill_value=0)
Out[514]: 
   t  u  v  x  y  z
a                  
1  2  1  1  3  3  2
2  2  1  0  2  1  2
3  1  0  0  1  1  1

Or using melt + crosstab 或使用melt + crosstab

s=df.melt('a')
pd.crosstab(s.a,s.value)
Out[518]: 
value  t  u  v  x  y  z
a                      
1      2  1  1  3  3  2
2      2  1  0  2  1  2
3      1  0  0  1  1  1
df.melt(id_vars="a").groupby(["a","value"]).count().unstack().fillna(0)

      variable                         
value        t    u    v    x    y    z
a                                      
1          2.0  1.0  1.0  3.0  3.0  2.0
2          2.0  1.0  0.0  2.0  1.0  2.0
3          1.0  0.0  0.0  1.0  1.0  1.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 计算跨多个列的pandas数据帧中唯一值的出现次数 - Count occurance of unique values in a pandas dataframe across multiple columns Python pandas:如何基于多列分组和计算唯一值? - Python pandas: How to group by and count unique values based on multiple columns? 如何根据多列值对 pandas 数据框进行分组、计数和取消堆叠? - How to group , count, and unstack a pandas dataframe based on multiple columns values? 在Python熊猫数据框中对唯一值进行分组和计数 - Group and count unique values in Python pandas dataframe 根据多列分组聚合列的唯一值并计算唯一值 - pandas - Aggregate unique values of a column based on group by multiple columns and count unique - pandas 在 Pandas Dataframe 中显示多列,但分组并只计算一列 - Display multiple columns in Pandas Dataframe, but group by and count only one 遍历 Panda dataframe 中的多个列并找到计数唯一值 - Iterate through multiple columns in a Panda dataframe and find count unique values 获取多列的唯一值作为 Pandas 中的新数据框 - Get unique values of multiple columns as a new dataframe in pandas 将多列唯一的计算值添加到熊猫数据框 - Adding multiple columns of unique calculated values to a pandas dataframe 获取熊猫数据框中唯一值的计数 - Get count of count of unique values in pandas dataframe
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM