为了账号安全,请及时绑定邮箱和手机立即绑定

我将如何创建一个具有 aa 列的唯一值并对它们进行计数的新数据框?

我将如何创建一个具有 aa 列的唯一值并对它们进行计数的新数据框?

慕哥6287543 2023-08-03 17:04:49
假设我有一个看起来像这样的 python 数据框:Factor_1    Factor_2    Factor_3   Factor_4   Factor_5   A           B           A          Nan       Nan   B           D           F          A         Nan   F           A           D          B          A像这样,我有 5 列具有不同的因素。我想创建一个列来计算数据框中出现的这些因素的数量,因此预期的输出将如下所示:Factor   Count  A        5  B        3  D        2  F        2 Nan       3我一直在尝试使用 groupby 但无法获得所需的输出,使用这样的东西。df['Counts'] = df.groupby(['Factor_1'])['Factor_2', 'Factor_3', 'Factor_4', 'Factor_5'].transform('count')我实际上不知道还能做什么,如果有人能帮助我那就太好了。
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

尝试stack使用value_counts

df.stack(dropna=False).value_counts(dropna=False)


A      5

B      3

NaN    3

D      2

F      2

dtype: int64


查看完整回答
反对 回复 2023-08-03
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

melt这是使用和 的另一个潜在解决方案value_counts

df.melt().value.value_counts()

输出:


A      5

B      3

Nan    3

F      2

D      2


查看完整回答
反对 回复 2023-08-03
  • 2 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信