第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

對(duì)于每一行返回最小值的列名 - pandas

對(duì)于每一行返回最小值的列名 - pandas

呼如林 2023-06-27 10:36:41
假設(shè)我有一個(gè)具有以下值的數(shù)據(jù)框:id    product1sold   product2sold   product3sold1     2              3              32     0              0              53     3              2              1如何在每個(gè) ID 的列表中添加包含所有最暢銷(xiāo)和最不暢銷(xiāo)產(chǎn)品的“most_sold”和“l(fā)east_sold”列?它應(yīng)該看起來(lái)像這樣。id    product1   product2   product3    most_sold                least_sold1        2          3          3        [product2, product3]      [product1]     2        0          0          5        [product3]                [product1, product2]3        3          2          1        [product1]                [product3]
查看完整描述

2 回答

?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊

使用列表理解來(lái)測(cè)試產(chǎn)品列表的最小值和最大值:


#select all columns without first

df1 = df.iloc[:, 1:]

cols = df1.columns.to_numpy()


df['most_sold'] = [cols[x].tolist() for x in df1.eq(df1.max(axis=1), axis=0).to_numpy()]

df['least_sold'] = [cols[x].tolist() for x in df1.eq(df1.min(axis=1), axis=0).to_numpy()]

print (df)

? ?id? product1sold? product2sold? product3sold? ? ? ? ? ? ? ? ? ? ?most_sold? \

0? ?1? ? ? ? ? ? ?2? ? ? ? ? ? ?3? ? ? ? ? ? ?3? [product2sold, product3sold]? ?

1? ?2? ? ? ? ? ? ?0? ? ? ? ? ? ?0? ? ? ? ? ? ?5? ? ? ? ? ? ? ? [product3sold]? ?

2? ?3? ? ? ? ? ? ?3? ? ? ? ? ? ?2? ? ? ? ? ? ?1? ? ? ? ? ? ? ? [product1sold]? ?


? ? ? ? ? ? ? ? ? ? ?least_sold??

0? ? ? ? ? ? ? ? [product1sold]??

1? [product1sold, product2sold]??

2? ? ? ? ? ? ? ? [product3sold]??

如果性能不重要,可以使用DataFrame.apply

df1 = df.iloc[:, 1:]


f = lambda x: x.index[x].tolist()

df['most_sold'] = df1.eq(df1.max(axis=1), axis=0).apply(f, axis=1)

df['least_sold'] = df1.eq(df1.min(axis=1), axis=0).apply(f, axis=1)


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

你可以做這樣的事情。

minValueCol = yourDataFrame.idxmin(axis=1) maxValueCol =  yourDataFrame.idxmax(axis=1)


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 2 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)