如何将二维数组各子数组最大值存入Pandas DataFrame列
解决方法:给DataFrame添加每个子数组的最大值列
方法1:使用numpy的axis参数
直接通过指定axis=1,让numpy按**每行(每个子数组)**计算最大值,再赋值给新列:
import numpy as np df['max_score'] = np.max(arr, axis=1)
方法2:使用Python原生列表推导式
如果不想依赖numpy,用原生max函数遍历每个子数组生成结果列表:
df['max_score'] = [max(sub_arr) for sub_arr in arr]
原代码问题说明
你之前用np.max(arr)时,numpy默认会把整个二维数组扁平化后取全局最大值,所以所有行都得到同一个值。加上axis=1参数后,会沿着每个子数组的维度计算最大值,生成和DataFrame行数匹配的结果数组。
内容的提问来源于stack exchange,提问作者RayX500
相关产品推荐
相关产品推荐

