我有一个数据框如下所示:
name company count_2017 count_2018 count_2019 last_id
joe abc 0 1 2 230283
cindy bcd 0 0 3 239382
john cde 1 1 0 238372
wang def 0 0 3 1332
我输入代码为:
df.apply(lambda x: x.iloc[x.nonzero()[0][0]], axis=1)
此代码将返回第一个非零值,但是我希望构建一个返回列名称的数据框。返回的数据框如下所示:
name count_2017 count_2018 count_2019 new_col
joe 0 1 2 2018
cindy 0 0 3 2019
john 1 1 0 2017
wang 0 0 3 2019
new_col = 第一个非零值的列名(删除 count_)。有没有办法从我现有的代码中进行编辑并返回 new_col ?
临摹微笑
海绵宝宝撒
相关分类