当前位置: 首页 > 面试题库 >

python pandasivot_table在一列中计数频率

长孙阳成
2023-03-14
问题内容

我对Python pandas的ivot_table还是很陌生,想问一种对一列中的值的频率进行计数的方法,该列也链接到另一列ID。DataFrame如下所示。

import pandas as pd
df = pd.DataFrame({'Account_number':[1,1,2,2,2,3,3],
                   'Product':['A', 'A', 'A', 'B', 'B','A', 'B']
                  })

对于输出,我想获得如下内容:

                Product
                A      B
Account_number           
      1         2      0
      2         1      2
      3         1      1

到目前为止,我尝试了以下代码:

df.pivot_table(rows = 'Account_number', cols= 'Product', aggfunc='count')

这段代码给了我两个相同的东西。上面的代码有什么问题?我问这个问题的部分原因是该DataFrame只是一个示例。我正在处理的真实数据有数万个account_numbers。谢谢您的帮助!


问题答案:

您需要指定aggfunclen

In [11]: df.pivot_table(index='Account_number', columns='Product', 
                        aggfunc=len, fill_value=0)
Out[11]:
Product         A  B
Account_number
1               2  0
2               1  2
3               1  1

看起来像是count,正在计算每个列(Account_numberProduct)的实例,对我来说这还不是一个bug尚不清楚。



 类似资料:
  • 如何有效地获取NumPy数组中每个唯一值的频率计数?

  • 问题内容: 我有一个数据集 我希望能够返回类似的信息(显示唯一的值和频率) 问题答案: 使用和: 请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html 另外,正如所说,这里有很多方法可以给猫皮 如果要向原始数据帧添加频率,请使用transform返回对齐的索引:

  • 我有一个数据集 我希望能够返回像(显示独特的值和频率)这样的东西

  • 问题内容: 我想计算每个值出现在数据框中的次数。 这是我的数据框- : 我想对字典进行计数: 例如 我试过了,但它给了而且也没有用。 问题答案: 您可以使用和:

  • 问题内容: 这个问题已经在这里有了答案 : 有效地计算python中的单词频率 (8个答案) 4年前关闭。 我想知道是否有一种方法可以计算2D python列表中的元素频率。对于一维列表,我们可以使用 但是,如果我有一个清单: 我可以在此2D列表中找到每个单词的频率吗? 问题答案: 假设我了解你想要什么, 要么,

  • 问题内容: 在 /中 ,是否有一种 有效的 方法来获取数组中唯一值的频率计数? 遵循以下原则: (对于您来说,R用户在那里,我基本上是在寻找该功能) 问题答案: 看一下: http://docs.scipy.org/doc/numpy/reference/generated/numpy.bincount.html 接着: 要么: 或者您想将计数和唯一值结合起来。