【问题标题】:With python dataframes add column of counts of rows that meet condition to each row that meets it使用python数据框将满足条件的行数列添加到满足条件的每一行
【发布时间】:2017-09-15 19:23:07
【问题描述】:

假设我有一个具有以下结构的 python DataFrame:

pd.DataFrame([[1,2,3,4],[1,2,3,4],[1,3,5,6],[1,4,6,7],[1,4,6,7],[1,4,6,7]])
Out[262]: 
   0  1  2  3
0  1  2  3  4
1  1  2  3  4
2  1  3  5  6
3  1  4  6  7
4  1  4  6  7
5  1  4  6  7

如何添加一个名为“ct”的列,该列计算第 1-3 列与 匹配的每一行匹配的 DataFrame 实例...所以当所有完成了。

   0  1  2  3  ct
0  1  2  3  4  2
1  1  2  3  4  2
2  1  3  5  6  1
3  1  4  6  7  3
4  1  4  6  7  3
5  1  4  6  7  3

【问题讨论】:

    标签: python pandas dataframe data-science


    【解决方案1】:

    你可以使用groupby + transform + size:

    df['ct'] = df.groupby([1,2,3])[1].transform('size')
    #alternatively
    #df['ct'] = df.groupby([1,2,3])[1].transform(len)
    print (df)
       0  1  2  3  ct
    0  1  2  3  4   2
    1  1  2  3  4   2
    2  1  3  5  6   1
    3  1  4  6  7   3
    4  1  4  6  7   3
    5  1  4  6  7   3
    

    【讨论】:

    • 你先生,是救生员。
    • 很高兴能帮到您!美好的一天!
    • 如果可行,别忘了接受@jezrael 的回答!
    • @SavageHenry - 谢谢。
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2016-04-29
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多