如何计算表中有/没有Pandas的类别数?

2024-05-15 14:02:53 发布

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

假设我们有一个表,其中按主题列出了书架中存储的书籍的数据:

N       Shelf1    Shelf2   Shelf3
Case1   Python    PHP      Python
Case2   Rails     R        PHP
Case3   PHP       Python   Python

所以我需要按每个主题计算一下我们图书馆里有多少本书,就像这样:

^{pr2}$

有什么建议吗?在


Tags: 数据主题图书馆建议书籍railsphp书架
2条回答

您可以对values属性调用ravel,该属性返回一个np数组来展平您的df,并从这个构造中调用一个序列并调用value_counts

In [42]:
pd.Series(df[['Shelf1','Shelf2','Shelf3']].values.ravel()).value_counts()

Out[42]:
Python    4
PHP       3
Rails     1
R         1
dtype: int64

您可以先将数据帧重塑为“堆叠”记录,然后使用value_counts函数。在

import pandas as pd

# your data
# ===================
print(df)

Out[269]: 
       N  Shelf1  Shelf2  Shelf3
0  Case1  Python     PHP  Python
1  Case2   Rails       R     PHP
2  Case3     PHP  Python  Python

# processing
# ======================================
# make column 'N' as index, stack, then value_counts
df.set_index('N').stack().value_counts()

Out[270]: 
Python    4
PHP       3
Rails     1
R         1
dtype: int64

相关问题 更多 >