gpt4 book ai didi

python - 如何获取数据框中某个值的列名

转载 作者:行者123 更新时间:2023-11-30 21:54:15 27 4
gpt4 key购买 nike

我有一张这样的 table

uid|store_1_@_A|store_2_%_7_B|store_3_&_9_C
---------------------------------------
1 |3 |4 |5
2 |20 |1 |9
3 |4 |88 |49

我想形成一个像这样的新表:

uid|store_1_@_A|store_2_%_7_B|store_3_&_9_C|favorite_store
------------------------------------------------------
1 |3 |4 |5 |C
2 |20 |1 |9 |A
3 |4 |88 |49 |B

favorite_store是一个新变量。对于每个uid,检查三个store的值,找到一个最高的,例如:uid=1,最大值=5,属于store_3_&_9_C,所以favorite_store = C .

df = pd.DataFrame({'uid':[1,2,3],
'store_1_@_A':[3,20,4],
'store_2_%_7_B':[4,1,88],
'store_3_&_9_C':[5,9,49]})

我用过df.iloc[0].max()获得第一行的最大值,但我不知道如何继续。如果如何获取商店名称中的最后一个字符,我正在考虑使用最后一个 '_' 。如re.findall('[^\_]+$', 're.findall('[^\_]+$', 'store_3_A')[0]')[0]可能有效。

最佳答案

使用idxmax :

df['favorite_store'] = df.idxmax(axis=1)

关于python - 如何获取数据框中某个值的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com