我有一个数据集
|category|
cat a
cat b
cat a
我希望能够返回类似的信息(显示唯一的值和频率)
category | freq |
cat a 2
cat b 1
使用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]
请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html
另外,value_counts()
正如@DSM
所说,这里有很多方法可以给猫皮
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]
我有一个数据集 我希望能够返回像(显示独特的值和频率)这样的东西
我有一张类似“ 我想创建一个新的列,在那里它将计数在最后4列中有值的列数。 我如何在Python中做到这一点? 提前道谢。
我想从我的Pandas数据帧列中创建一个唯一值的计数,然后将这些计数添加到原始数据帧中的新列。我尝试了一些不同的方法。我创建了一个熊猫系列,然后用value_counts方法计算计数。我试图将这些值合并回我的原始数据框,但我想要合并的键在索引(ix/loc)中。 我想退货,比如:
问题内容: 我想计算每个值出现在数据框中的次数。 这是我的数据框- : 我想对字典进行计数: 例如 我试过了,但它给了而且也没有用。 问题答案: 您可以使用和:
问题内容: 我正在尝试从DataFrame计算列中每个值的百分位数。 有没有更好的方法来编写以下代码? 我希望看到更好的性能。 问题答案: 似乎您想要: 性能:
问题内容: 我正在使用pandas库,我想将两个新列添加到具有n列(n> 0)的数据框中。 这些新列是由于将函数应用于数据框中的某一列而产生的。 要应用的功能如下: 为仅返回值的函数创建新列的一种方法是: 所以,我想要的但尝试失败的(*)是这样的: 实现此目的的最佳方法是什么?我毫无头绪地扫描了文档。 *返回一个熊猫系列,每个项目都由一个元组z,y组成。尝试将其分配给两个数据框列会产生ValueE