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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據(jù)條件識別具有行中第一個值的列

根據(jù)條件識別具有行中第一個值的列

森林海 2023-09-05 17:30:03
我有數(shù)據(jù)框,我想在其中標(biāo)識每行的列,該列具有與條件相對應(yīng)的第一個值。在下面的例子中,我想創(chuàng)建一個新列,它標(biāo)識每行中小于或等于 1 的第一個值,并給出相應(yīng)的列名稱。df = pd.DataFrame({'A': [1.5,2,4,0.5], 'B' : [2,1,3,0.25], 'C': [3,1,1,1], 'D': [2,2,3,1]})df    A    B      C   D0   1.5  2.00   3   21   2.0  1.00   1   22   4.0  3.00   1   33   0.5  0.25   1   1我可以創(chuàng)建一個面具來檢查情況。temp = df<=1temp    A       B       C       D0   False   False   False   False1   False   True    True    False2   False   False   True    False3   True    True    True    True然后我可以使用以下內(nèi)容來確定列。df['New_col'] = temp.idxmax(axis = 1)df    A    B      C   D   New_col0   1.5  2.00   3   2   A1   2.0  1.00   1   2   B2   4.0  3.00   1   3   C3   0.5  0.25   1   1   A該代碼正確識別了 New_col 中的列(第 0 行除外),因?yàn)榈?0 行中的所有值都大于 1。如何為 New_col 中的第 0 行獲取 NaN 而不是 A?以下是所需的輸出。    A    B      C   D   New_col0   1.5  2.00   3   2   NaN1   2.0  1.00   1   2   B2   4.0  3.00   1   3   C3   0.5  0.25   1   1   A
查看完整描述

1 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個贊

用于檢查行上any(1)是否有 a并進(jìn)行屏蔽:Truewhere


df['New_col'] = temp.idxmax(axis = 1).where(temp.any(1))

輸出:


     A     B  C  D New_col

0  1.5  2.00  3  2     NaN

1  2.0  1.00  1  2       B

2  4.0  3.00  1  3       C

3  0.5  0.25  1  1       A


查看完整回答
反對 回復(fù) 2023-09-05
  • 1 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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