python - Pandas 数据框 : selecting max by column for subset

标签 python pandas dataframe

我对 pandas 还很陌生,一直在兜圈子,试图找到一种简单的方法来解决以下问题:

我有一个很大的相关矩阵(几千行/列)作为数据框,我想按列提取最大值,不包括“1”,它当然存在于所有列(矩阵的对角线)中。

尝试了 .max() .imax() 的各种变体,包括以下内容:

corr.drop(corr.idxmax()).max()

却只能得到无意义的结果。非常感谢任何帮助。

最佳答案

你或许可以使用 np.fill_diagonal

df_values=df.values.copy()
np.fill_diagonal(df_values,-np.inf)
df_values.max(0)

或者您可以使用单线:

df.values[~np.eye(df.shape[0],dtype=bool)].reshape(df.shape[0]-1,-1).max(0)

关于python - Pandas 数据框 : selecting max by column for subset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48607315/

相关文章:

python - 重新格式化/旋转 pandas 数据框

python - 如何用变量值填充 pandas 数据框中的 NaN 值?

python - 在 Python 中使用 %f 和 strftime() 来获得微秒

python - 为什么我的显卡不能与 PyTorch 一起使用?

python - 接受与套接字的无限连接

python - Pandas :返回以特定数字开头的列值

python - 从 Python2 到 Python3 的这种解包行为的变化是什么?

python - 如何迭代数据框列表并在未找到特定字符串时删除所有数据

python - 计算数据帧每一行中元素的出现次数

performance - R:通过引用传递数据帧