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

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

返回第一個(gè)非零值的列名

返回第一個(gè)非零值的列名

我有一個(gè)數(shù)據(jù)框如下所示:name company count_2017 count_2018 count_2019 last_idjoe     abc     0           1         2         230283cindy   bcd     0           0         3         239382john    cde     1           1         0          238372wang    def     0           0         3          1332我輸入代碼為:df.apply(lambda x: x.iloc[x.nonzero()[0][0]], axis=1)此代碼將返回第一個(gè)非零值,但是我希望構(gòu)建一個(gè)返回列名稱的數(shù)據(jù)框。返回的數(shù)據(jù)框如下所示:name count_2017 count_2018 count_2019  new_coljoe   0           1         2           2018cindy 0           0         3           2019john  1           1         0           2017wang  0           0         3           2019new_col = 第一個(gè)非零值的列名(刪除 count_)。有沒有辦法從我現(xiàn)有的代碼中進(jìn)行編輯并返回 new_col ?
查看完整描述

2 回答

?
臨摹微笑

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

你可以試試這個(gè):


columns = df.select_dtypes(int).columns


df["new_col"] = (df.select_dtypes(int)

                 .gt(0)

                 .dot(columns.str[-4:] + " ")

                 .str.split()

                 .str[0])

df


    name    count_2017  count_2018  count_2019  new_col

0   joe         0           1           2       2018

1   cindy       0           0           3       2019

2   john        1           1           0       2017

3   wang        0           0           3       2019


查看完整回答
反對(duì) 回復(fù) 2023-08-03
?
海綿寶寶撒

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

如果你的 DataFrame 看起來像:


    name  count_2017  count_2018  count_2019

0    joe           0           1           2

1  cindy           0           0           3

2   john           1           1           0

3   wang           0           0           3

然后:


df['new_col'] = df.iloc[:, 1:].apply(lambda x: next(c for v, c in zip(x, x.index) if v!=0).split('_')[-1], axis=1)

print(df)

印刷:


    name  count_2017  count_2018  count_2019 new_col

0    joe           0           1           2    2018

1  cindy           0           0           3    2019

2   john           1           1           0    2017

3   wang           0           0           3    2019


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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