我查看了各种解决在特定列上计算重复行的问题的 SO 问题,最相关的是这个问题。
问题是,这个解决方案非常具体,我无法弄清楚如何将它推广到具有更多数据的数据帧。我有一个包含多列的数据框,我想添加一个名为“A_D_E_count”的新列,该列将指示整个数据框中有多少行具有每行的 A、D 和 E 列的相同值。
最好这应该使用.transform功能
例子:
Out[6]:
A B C D E
0 294 41981 37597 39875 33364
1 294 39776 37597 37572 39171
2 294 44658 49408 43713 49408
3 294 58615 52065 43713 49408
4 294 44811 51238 42926 49408
Run Code Online (Sandbox Code Playgroud)
在这个数据框上,我想添加一个列来计算包含相同A D和E值的行数,因此结果将是
Out[6]:
A B C D E A_D_E_count
0 294 41981 37597 39875 33364 1
1 294 39776 37597 37572 39171 1
2 294 44658 49408 43713 49408 2
3 294 58615 52065 43713 49408 2
4 294 44811 51238 42926 49408 1
Run Code Online (Sandbox Code Playgroud)
我认为您需要size或count不需要 count NaNs transform:
cols = ['A','D','E']
df['A_D_E_count'] = df.groupby(cols)['A'].transform('size')
print (df)
A B C D E A_D_E_count
0 294 41981 37597 39875 33364 1
1 294 39776 37597 37572 39171 1
2 294 44658 49408 43713 49408 2
3 294 58615 52065 43713 49408 2
4 294 44811 51238 42926 49408 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3188 次 |
| 最近记录: |