当前位置: 首页 > 知识库问答 >
问题:

基于行计数设置数据帧列值

宋唯
2023-03-14

我有一个名为“segments”的数据帧,看起来像这样:

               COL_A
0              10135
1              10135
2              10135
3              10140
4              10140

我想让它看起来像这样。其中Outdegree是包含列A中的值的行数,例如10135在3行中,因此每行Outdegree设置为3:

               COL_A    OUTDEGREE
0              10135    3
1              10135    3
2              10135    3
3              10140    2
4              10140    2

以下是我正在尝试但不起作用的内容:

segments['OUTDEGREE'] = len(segments[segments['COL_A'] == segments['COL_A']])

该代码将所有行相加,并将总计值提供给OUTDEGREE列

共有1个答案

公羊涛
2023-03-14

您可以使用len'count'与转换函数来实现这一点

df['OUTDEGREE'] = df.groupby('COL_A')['COL_A'].transform(len)
df

或者

df['OUTDEGREE'] = df.groupby('COL_A')['COL_A'].transform('count')

出:

    COL_A   OUTDEGREE
0   10135   3
1   10135   3
2   10135   3
3   10140   2
4   10140   2
 类似资料:
  • 我有一个像下面这样的DataFrame,标识符作为现有DateIndex顶部的列。 我的目标是为除id之外的每一列(a和B)创建一个新的子DataFrames,其中dateIndex作为单个索引,id(foo,bar)作为列名。预期产出如下所示:

  • 我有以下数据帧: 我需要删除等于的行。最有效的方法是什么?

  • 我有一个数据集,我想根据该行的2或列值从数据框中删除行。例如-我有关于美国所有电视节目的数据帧,我需要根据电视节目的季节和剧集删除电视节目的特定行。就像我需要删除高谭市电视台的行,但只删除包含第四季和第十集的行。 如果我能在这方面得到帮助,我将不胜感激。

  • 我正面临这个问题,其中我有一个数据帧,比如: 和另一个数据帧: 现在我想要的是,将df2的列插入到df1的特定位置,这样df1就变成了(实际上一个新的df也会起作用): 我现在通过创建一个新的空df来实现这一点,然后迭代这两个df的列,然后依次添加每一列。这是低效的、丑陋的,并且违背了数据流的全部目的。所以我很想知道,这个已经有方法了吗?我不确定这样的问题是否已经在这里得到了回答,但我肯定我没有找

  • 我有两个熊猫数据框 步骤2:对于flag=1的行,AA_new将计算为var1(来自df2)*组“A”和val“AA”的df1的'cal1'值*组“A”和val“AA”的df1的'cal2'值,类似地,AB_new将计算为var1(来自df2)*组“A”和val“AB”的df1的'cal1'值*组“A”和val“AB”的df1的'cal2'值 我的预期输出如下所示: 以下基于其他stackflow

  • 我有两个数据帧df1和df2 df1如下 df2就像 我想根据df2中与df1中的列名匹配的单元格值将值从df1复制到df2,所以我的df3应该看起来像 df3 基本上,我想根据df2的单元格值(df1中的列名)从df1复制df2中的列 如果它仍然令人困惑,请告诉我