按行计数稀疏矩阵中的max()值(数据帧)

  • 本文关键字:max 数据帧 python dataframe
  • 更新时间 :
  • 英文 :


我有一个有几列的稀疏矩阵,当值等于该行的最大值时,我想按行计数如何做到这一点?假设数据如下:

index    A    B    C    D    MAX
0        0    0    2    1    2
1        1    4    1    0    4
2        0    3    2    3    3

结果应该是:

index    A    B    C    D    MAX
0      0    0    1    0    2
1      0    1    0    0    3
2      0    1    0    1    4

谢谢!

m=[[0, 0, 2, 1],[1, 4, 1, 0],[0, 3, 2, 3]]
df = pd.DataFrame(m)
maximums = df.max(axis=1)
maxmatrix = [[int(m[i][j] == maximums[i]) for j in range(df.shape[1])] for i in range(df.shape[0])]
print(maxmatrix)

返回

[[0, 0, 1, 0], [0, 1, 0, 0], [0, 1, 0, 1]]

相关内容

最新更新