如何在Pandas中将数组中的最大值存储到 Dataframe 的列

f87krz0w  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(125)

我想将下面数组中的最大值存储到 Dataframe 的列中

# dataset 
import pandas as pd

data = {'product_name': ['laptop', 'printer', 'tablet', 'desk', 'chair','Watch'],
        'price': [1200, 150, 300, 450, 200,90],
        'class':['good','bad','bad','good','bad','good']
        }

df = pd.DataFrame(data)

print(df)
#####################################################
arr = [[0.11085975, 0.88914025],
 [0.69934523, 0.30065477],
 [0.6325009 , 0.36749908],
 [0.8115895 , 0.18841055],
 [0.8882814 , 0.11171862],
 [0.891402  , 0.10859799]]

我的尝试

df['max_score'] = np.max(arr) # this only returns `0.891402`

请分享您的代码,提前感谢。

bvn4nwqk

bvn4nwqk1#

与panda不同的是,panda在大多数二维运算中默认为axis=0,numpy默认为axis=None,创建单个标量。请参见numpy.ndarray.max
使用axis=1

df['max_score'] = np.max(arr, axis=1)

输出量:

product_name  price class  max_score
0       laptop   1200  good   0.889140
1      printer    150   bad   0.699345
2       tablet    300   bad   0.632501
3         desk    450  good   0.811589
4        chair    200   bad   0.888281
5        Watch     90  good   0.891402

相关问题