如果要应用于所有列,可以使用:
df.apply(pd.value_counts)
这将对每个列应用基于列的聚合函数(在本例中value_counts)。
使用Groupby
和count
:
In [37]:
df = pd.DataFrame({'a':list('abssbab')})
df.groupby('a').count()
Out[37]:
a
a
a 2
b 3
s 2
[3 rows x 1 columns]
查看在线文档:https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html
另外,正如@DSM所评论的那样,value\u counts()
In [38]:
df['a'].value_counts()
Out[38]:
b 3
a 2
s 2
dtype: int64
如果要将频率添加回原始数据帧,请使用transform
返回对齐索引:
In [41]:
df['freq'] = df.groupby('a')['a'].transform('count')
df
Out[41]:
a freq
0 a 2
1 b 3
2 s 2
3 s 2
4 b 3
5 a 2
6 b 3
[7 rows x 2 columns]
问题内容: 我有一个数据集 我希望能够返回类似的信息(显示唯一的值和频率) 问题答案: 使用和: 请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html 另外,正如所说,这里有很多方法可以给猫皮 如果要向原始数据帧添加频率,请使用transform返回对齐的索引:
我想在数据的每一列中找到的数量,这样,如果某一列的少于某个阈值,我就可以删除该列。我看了一下,但没有找到任何功能。对我来说太慢了,因为大多数值都是不同的,而且我只对计数感兴趣。
我想在我的数据的每一列中找到< code>NaN的数目。
问题内容: 我想计算每个值出现在数据框中的次数。 这是我的数据框- : 我想对字典进行计数: 例如 我试过了,但它给了而且也没有用。 问题答案: 您可以使用和:
问题内容: 在Javascript中,我试图获取数字值的初始数组并计算其中的元素。理想情况下,结果将是两个新数组,第一个数组指定每个唯一元素,第二个数组包含每个元素出现的次数。但是,我愿意接受有关输出格式的建议。 例如,如果初始数组为: 然后将创建两个新的数组。第一个将包含每个唯一元素的名称: 第二个将包含元素在初始数组中出现的次数: 因为数字5在初始数组中出现3次,所以数字2出现5次,而9和4都
我正在尝试计算多个列的中值,但是我的数据有点奇怪。它看起来像下面的示例。 在表中到列表示该值的出现次数。我想计算中位数的出现次数。 例如对于ID = 1 是我想要创建的计算。 对于ID=2 我尝试过使用<code>rep()或<code>rep(10,2)),这就是我所期望的。我只是努力创建一个列表或向量,每个列都有重复。