我对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。谢谢您的帮助!
您需要指定aggfunc
为len
:
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_number
和Product
)的实例,对我来说这还不是一个bug尚不清楚。
问题内容: 我有一个数据集 我希望能够返回类似的信息(显示唯一的值和频率) 问题答案: 使用和: 请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html 另外,正如所说,这里有很多方法可以给猫皮 如果要向原始数据帧添加频率,请使用transform返回对齐的索引:
如何有效地获取NumPy数组中每个唯一值的频率计数?
我有一个数据集 我希望能够返回像(显示独特的值和频率)这样的东西
问题内容: 这个问题已经在这里有了答案 : 有效地计算python中的单词频率 (8个答案) 4年前关闭。 我想知道是否有一种方法可以计算2D python列表中的元素频率。对于一维列表,我们可以使用 但是,如果我有一个清单: 我可以在此2D列表中找到每个单词的频率吗? 问题答案: 假设我了解你想要什么, 要么,
问题内容: 我想计算每个值出现在数据框中的次数。 这是我的数据框- : 我想对字典进行计数: 例如 我试过了,但它给了而且也没有用。 问题答案: 您可以使用和:
问题内容: 在 /中 ,是否有一种 有效的 方法来获取数组中唯一值的频率计数? 遵循以下原则: (对于您来说,R用户在那里,我基本上是在寻找该功能) 问题答案: 看一下: http://docs.scipy.org/doc/numpy/reference/generated/numpy.bincount.html 接着: 要么: 或者您想将计数和唯一值结合起来。