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

Python- 计算值在数据框列中出现的频率

刘京
2023-03-14
问题内容

我有一个数据集

|category|
cat a
cat b
cat a

我希望能够返回类似的信息(显示唯一的值和频率)

category | freq |
cat a       2
cat b       1

问题答案:

使用groupbycount

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