【问题标题】:Pandas Dataframe set column value based on row countPandas Dataframe 根据行数设置列值
【发布时间】:2020-03-11 11:22:18
【问题描述】:

我有一个名为“segments”的数据框,如下所示:

               COL_A
0              10135
1              10135
2              10135
3              10140
4              10140

我想让它看起来像这样。其中Outdegree是包含COL_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 列

【问题讨论】:

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

标签: python pandas dataframe


【解决方案1】:

您可以使用 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

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 2022-08-03
    • 2020-03-19
    • 2013-08-12
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多